﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-IT爱好小子01-文章分类-php学习与技巧</title><link>http://www.cnitblog.com/zhand/category/7986.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 07 Oct 2011 17:38:10 GMT</lastBuildDate><pubDate>Fri, 07 Oct 2011 17:38:10 GMT</pubDate><ttl>60</ttl><item><title>PHPCMS中修改实现首页内容调用两列显示</title><link>http://www.cnitblog.com/zhand/articles/75206.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Fri, 26 Aug 2011 17:20:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/75206.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/75206.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/75206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/75206.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/75206.html</trackback:ping><description><![CDATA[<table style="width: 100%; table-layout: fixed">
<tbody>
<tr>
<td>
<div id="blog_text" class="cnt">经过一早上的努力，终于实现啦，现在将方法分享出来，o(&#8745;_&#8745;)o...！通过修改 windth 的数值 可以实现 3列 4列。。。。。。 显示。然后将首页模板的 text_list 修改成 twonews_li 就可以了。。。实现方法如下：在 base.css 找到 /*图文排版*/ .pic img { padding:1px; border:1px solid #ccc; margin:8px auto;} .list_1 p { text-indent:2em;} 在下面添加： /*两列新闻列表*/ .twonews_li {width:100%; margin:8px auto 0;} .twonews_li li { float:left; width:42%; height:22px; overflow:hidden; margin-right:18px; padding-left:12px; line-height:22px; background:transparent url(images/icon_2.gif) no-repeat scroll 0 11px; } 通过修改 windth 的数值 可以实现 3列 4列。。。。。。 显示然后将首页模板的 text_list 修改成 twonews_li 就可以了。。。 </div></td></tr></tbody></table><img src ="http://www.cnitblog.com/zhand/aggbug/75206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2011-08-27 01:20 <a href="http://www.cnitblog.com/zhand/articles/75206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用php实现伪静态化页面</title><link>http://www.cnitblog.com/zhand/articles/59180.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Tue, 09 Jun 2009 09:08:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/59180.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/59180.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/59180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/59180.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/59180.html</trackback:ping><description><![CDATA[<a onclick="javascript:tagshow(event, '%B7%BD%B7%A8');" href="javascript:;" target=_self><u><strong><font color=#009999>方法</font></strong></u></a>一：<br>在你的程序初始化时使用如下<a onclick="javascript:tagshow(event, '%B4%FA%C2%EB');" href="javascript:;" target=_self><u><strong><font color=#009999>代码</font></strong></u></a>：<br>&lt;?<a href="http://www.jzxue.com/Html/php/" target=_blank><a onclick="javascript:tagshow(event, 'php');" href="javascript:;" target=_self><u><strong><font color=#009999>php</font></strong></u></a></a><br>$Php2Html_FileUrl&nbsp;=&nbsp;$_SERVER["REQUEST_URI"];<br>$Php2Html_UrlString&nbsp;=&nbsp;str_replace("/",&nbsp;"",&nbsp;strrchr($Php2Html_FileUrl,&nbsp;"/"));<br>$Php2Html_UrlQueryStrList&nbsp;=&nbsp;explode("@",&nbsp;$Php2Html_UrlString);<br>foreach($Php2Html_UrlQueryStrList&nbsp;as&nbsp;$Php2Html_UrlQueryStr)<br>{<br>$Php2Html_TmpArray&nbsp;=&nbsp;explode("|",&nbsp;$Php2Html_UrlQueryStr);<br>$_GET[$Php2Html_TmpArray[0]]&nbsp;=&nbsp;$Php2Html_TmpArray[1];<br>}<br>echo&nbsp;'假静态：$_GET变量&lt;br&nbsp;/&gt;';<br>print_r($_GET);<br>?&gt;<br>然后<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>中调用$_GET变量就像平常一样了。<br>连接使用方式：<br>****.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>/param1|1234@param2|4321<br>和****.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>?param1=1234&amp;param2=4321一样。<br><br>方法二：通过URL&nbsp;Rewrite实现链接静态化<br><br>我们知道搜索引擎对于静态页面是非常友好的，因此很多网站通过生成静态页面等手段方便爬虫抓取自己网站的内容。但是有时候一些应用并不适合全部静态化，比如数据变化非常大的论坛/贴吧系统，这时候我们可以通过URL重写来实现链接的伪静态化，即网站对外使用静态化的链接，而内部实际上仍然使用动态页面的&nbsp;URL形式。比如像这样一个链接：http://www.ci123.com/abc.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>?action=a&amp;id=1，我们可以改写成http://www.ci123.com/abc/a/1.html的形式。这是搜索引擎优化最重要的内容之一，它还有一个额外的好处，可以使页面有一个永久链接，即便以后网站系统内部链接有变化，通过适当改变Rewrite规则就可以保证原先的外部URL一直有效。<br><br>下面介绍2种简单的Apache+PHP下实现URL重写的方法，第一种适合有<a href="http://www.jzxue.com/Html/kongjian/" target=_blank><u><font color=#000066>服务器</font></u></a>配置权限的用户，第二种适合租用空间的用户，也作为我近期的<a onclick="javascript:tagshow(event, '%D1%A7%CF%B0');" href="javascript:;" target=_self><u><strong><font color=#009999>学习</font></strong></u></a>心得的整理。<br><br><br>1、对于有<a href="http://www.jzxue.com/Html/kongjian/" target=_blank><u><font color=#000066>服务器</font></u></a>配置权限的用户，推荐使用<a onclick="javascript:tagshow(event, 'Apache');" href="javascript:;" target=_self><u><strong><font color=#009999>Apache</font></strong></u></a>的mod_rewrite模块，这里假设已经<a onclick="javascript:tagshow(event, '%B0%B2%D7%B0');" href="javascript:;" target=_self><u><strong><font color=#009999>安装</font></strong></u></a>好mod_rewrite模块。打开Apache的配置文件，找到相应主机的部分，添加以下代码：<br><br>RewriteEngine&nbsp;On<br>RewriteRule&nbsp;^/abc/([a-z]+)/([0-9]+).html$&nbsp;/abc.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>?action=$1&amp;id=$2<br><br>然后在shell里执行service&nbsp;httpd&nbsp;reload，让Apache重新载入配置就好了。现在在PHP页面里面我们可以把链接写成&nbsp;abc/a/1.html的形式，Apache在解析这个&nbsp;URL的时候会rewrite成abc.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>?action=a&amp;ampid=1的形式，并返回正确的页面。运用<a onclick="javascript:tagshow(event, '%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD');" href="javascript:;" target=_self><u><strong><font color=#009999>正则表达式</font></strong></u></a>我们可以实现几乎任何我们想要的链接形式，mod_rewrite模块的功能异常强大，这里只是一个及其简单的应用。<br><br>2、对于租用空间的用户，一般都没有办法修改Apache的配置，这里有个变通的方法，原理是这样的：当要传递参数访问PHP&nbsp;页面时，正常情况下是通过自动全局变量$_GET来获得，比如上面的链接，在页面里可以通过$_GET['action']&nbsp;和&nbsp;$_GET['id']&nbsp;来获得，重写URL后就不行了。现在在每个页面里require一个url_rewrite.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>文件，里面代码如下：<br><br>$filename&nbsp;=&nbsp;basename($_SERVER['scrīpt_NAME']);<br><br>if&nbsp;(strtolower($filename)&nbsp;==&nbsp;"abc.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>"){<br>　　if&nbsp;(!empty($_GET[id])){<br>　　　　$id&nbsp;=&nbsp;intval($_GET[id]);<br>　　　　$action&nbsp;=&nbsp;intval($_GET[action]);<br>　　}<br>　　else&nbsp;{<br>　　　　$nav&nbsp;=&nbsp;$_SERVER["REQUEST_URI"];<br>　　　　$scrīpt&nbsp;=&nbsp;$_SERVER["scrīpt_NAME"];<br>　　　　$nav&nbsp;=&nbsp;ereg_replace("^$scrīpt",&nbsp;"",&nbsp;urldecode($nav));<br>　　　　$vars&nbsp;=&nbsp;explode("/",&nbsp;$nav);<br>　　　　$action&nbsp;=&nbsp;intval($vars[1]);<br>　　　　$id&nbsp;=&nbsp;intval($vars[2]);<br>　　&nbsp;}<br>}<br><br>这样$action和$id也得到了，页面里链接可以写成abc.<a href="http://www.jzxue.com/Html/php/" target=_blank><u><font color=#000066>php</font></u></a>/a/1的形式来访问相应页面。<br>需要注意的是这种方法效率较第一种低，第一种方法是在WEB<a href="http://www.jzxue.com/Html/kongjian/" target=_blank><u><font color=#000066>服务器</font></u></a>URL解析过程中实现的，而这里是在PHP页面解析过程里实现的，第2种方法只是变通，不得已而为之，要修改链接形式很不方便也不灵活。<br>欢迎大家一起交流讨论！<br>本人转自：<a href="http://www.phpchina.com/html/36/35636-16253.html">http://www.phpchina.com/html/36/35636-16253.html</a>
<img src ="http://www.cnitblog.com/zhand/aggbug/59180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2009-06-09 17:08 <a href="http://www.cnitblog.com/zhand/articles/59180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 站内搜索关键词功能如何实现</title><link>http://www.cnitblog.com/zhand/articles/55819.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Fri, 27 Mar 2009 17:39:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/55819.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/55819.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/55819.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/55819.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/55819.html</trackback:ping><description><![CDATA[方法一 : 用户每搜索一次，宾且有返回结果，则将用户搜索的词插入数据库<br>如果此词存在，则增加其rank值<br>方法二: 用中文分词技术对站内文章分析，每篇文章提取几个关键字<br>用户搜索时候，通过关键来搜索，<br>用户搜索时先用分词划分用户搜索词语<br>然后在搜索文章的关键词<br>&nbsp;&nbsp;&nbsp; 用中文分词技术对站内文章分析，每篇文章提取几个关键字<br>用户搜索时候，通过关键来搜索，<br>用户搜索时先用分词划分用户搜索词语<br>然后在搜索文章的关键词 <br><br>php]<br>function keyword($body,$title='') {<br>$sp = new SplitWord();<br>$titleindexs = explode(" ",trim($sp-&gt;GetIndexText($sp-&gt;SplitRMM($title))));<br>$allindexs = explode(" ",trim($sp-&gt;GetIndexText($sp-&gt;SplitRMM(Html2Text($body)),200)));<br>if(is_array($allindexs) &amp;&amp; is_array($titleindexs)){<br>foreach($titleindexs as $k){ <br>if(strlen($keywords)&gt;=20) break;<br>else $keywords .= $k."|";<br>}<br>foreach($allindexs as $k){<br>if(strlen($keywords)&gt;=20) break;<br>else if(!in_array($k,$titleindexs)) $keywords .= $k."|";<br>}<br>}<br>$sp-&gt;Clear();<br>unset($sp);<br>$keywords = addslashes($keywords);<br>if(substr($keywords,strlen($keywords)-1,strlen($keywords))=='|'){<br>return substr($keywords,0,strlen($keywords)-1);<br>}elseif(substr($keywords,0,1)=='|'){<br>return substr($keywords,0,1) ;<br>}else{<br>return $keywords;<br>}<br>}<br><br><br>class SplitWord<br>{<br>var $RankDic = Array();<br>var $OneNameDic = Array();<br>var $TwoNameDic = Array();<br>var $NewWord = Array();<br>var $SourceString = '';<br>var $ResultString = '';<br>var $SplitChar = ' '; //分隔符<br>var $SplitLen = 4; //保留词长度<br>var $EspecialChar = "和|的|是";<br>var $NewWordLimit = "在|的|与|或|就|你|我|他|她|有|了|是|其|能|对|地";<br><br>//这里可以按需要加入常用的量词，<br>//程序会检测词语第一个字是否为这些词和上一个词是否为数词，然后结合为单词<br>var $CommonUnit = "年|月|日|时|分|秒|点|元|百|千|万|亿|位|辆";<br><br>var $CnNumber = "０|１|２|３|４|５|６|７|８|９|＋|－|％|．|ａ|ｂ|ｃ|ｄ|ｅ|ｆ|ｇ|ｈ|ｉ|ｊ|ｋ|ｌ|ｍ|ｎ|ｏ|ｐ|ｑ|ｒ|ｓ |ｔ|ｕ|ｖ|ｗ|ｘ|ｙ|ｚ|Ａ|Ｃ|Ｄ|Ｅ|Ｆ|Ｇ|Ｈ|Ｉ|Ｊ|Ｋ|Ｌ|Ｍ|Ｎ|Ｏ|Ｐ|Ｑ|Ｒ|Ｓ|Ｔ|Ｕ|Ｖ|Ｗ|Ｘ|Ｙ|Ｚ";<br>var $CnSgNum = "一|二|三|四|五|六|七|八|九|十|百|千|万|亿|数";<br>var $MaxLen = 11; //词典最大 7 中文字，这里的数值为字节数组的最大索引<br>var $MinLen = 3; //最小 2 中文字，这里的数值为字节数组的最大索引<br>var $CnTwoName = "端木 南宫 谯笪 轩辕 令狐 钟离 闾丘 长孙 鲜于 宇文 司徒 司空 上官 欧阳 公孙 西门 东门 左丘 东郭 呼延 慕容 司马 夏侯 诸葛 东方 赫连 皇甫 尉迟 申屠";<br>var $CnOneName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卡齐康伍余元卜顾孟平黄穆萧尹姚邵堪汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董粱杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯咎管卢莫经房裘缪干解应宗宣丁贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄魏加封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘姜詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲台从鄂索咸籍赖卓蔺屠蒙池乔阴郁胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍郤璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴翟阎充慕连茹习宦艾鱼容向古易慎戈廖庚终暨居衡步都耿满弘匡国文寇广禄阙东殴殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾沙须丰巢关蒯相查后江游竺";<br>//------------------------------<br>//php4构造函数<br>//------------------------------<br>function SplitWord(){<br>$this-&gt;__construct();<br>}<br>//------------------------------<br>//php5构造函数<br>//------------------------------<br>function __construct(){ <br>//载入姓氏词典<br>for($i=0;$iCnOneName);$i++){<br>$this-&gt;OneNameDic[$this-&gt;CnOneName[$i].$this-&gt;CnOneName[$i+1]] = 1;<br>$i++;<br>}<br>$twoname = explode(" ",$this-&gt;CnTwoName);<br>foreach($twoname as $n){ $this-&gt;TwoNameDic[$n] = 1; }<br>unset($twoname);<br>unset($this-&gt;CnTwoName);<br>unset($this-&gt;CnOneName);<br>//高级分词，预先载入词典以提分词高速度<br>$dicfile = dirname(__FILE__)."/table/word.csv"; <br>$fp = fopen($dicfile,'r');<br>while($line = fgets($fp,64)){<br>$ws = explode(' ',$line);<br>$this-&gt;RankDic[strlen($ws[0])][$ws[0]] = $ws[1];<br>}<br>fclose($fp);<br>}<br><br>//--------------------------<br>//析放资源<br>//--------------------------<br>function Clear()<br>{<br>unset($this-&gt;RankDic);<br>}<br><br>//----------------------------<br>//设置源字符串<br>//----------------------------<br>function SetSource($str){<br>$this-&gt;SourceString = trim($this-&gt;ReviseString($str));<br>$this-&gt;ResultString = "";<br>}<br><br>//-----------------------------<br>//检查字符串是否不存在中文<br>//-----------------------------<br>function NotGBK($str)<br>{<br>if($str=="") return "";<br>//因为粗分的时候已经处理,因此不必要检查所的字符<br>if( ord($str[0])&gt;0x80 ) return false;<br>else return true;<br>}<br>//-----------------------------<br>//RMM分词算法<br>//-----------------------------<br>function SplitRMM($str="",$tryNumName=true,$tryDiff=true){<br>if($str!="") $this-&gt;SetSource(trim($str));<br>if($this-&gt;SourceString=="") return "";<br>//对文本进行粗分<br>$this-&gt;SourceString = $this-&gt;ReviseString($this-&gt;SourceString);<br>//对特定文本进行分离<br>$spwords = explode(" ",$this-&gt;SourceString);<br>$spLen = count($spwords);<br>$spc = $this-&gt;SplitChar;<br>for($i=($spLen-1);$i&gt;=0;$i--){<br>if(trim($spwords[$i])=="") continue;<br>if($this-&gt;NotGBK($spwords[$i])){<br>$this-&gt;ResultString = $spwords[$i].$spc.$this-&gt;ResultString;<br>}<br>else<br>{<br>$c = $spwords[$i][0].$spwords[$i][1];<br>$n = hexdec(bin2hex($c));<br>if($c=="《") //书名<br>{ $this-&gt;ResultString = $spwords[$i].$spc.$this-&gt;ResultString; }<br>else if($n&gt;0xA13F &amp;&amp; $n &lt; 0xAA40) //标点符号<br>{ $this-&gt;ResultString = $spwords[$i].$spc.$this-&gt;ResultString; }<br>else //正常短句<br>{<br>if(strlen($spwords[$i]) &lt;= $this-&gt;SplitLen)<br>{<br>//如果结束符为特殊分割词，分离处理<br>if(preg_match("/".$this-&gt;EspecialChar."$/",$spwords[$i],$regs)){<br>$spwords[$i] = preg_replace("/".$regs[0]."$/","",$spwords[$i]).$spc.$regs[0];<br>}<br>//是否为常用单位<br>if(!preg_match("/^".$this-&gt;CommonUnit."/",$spwords[$i]) || $i==0){<br>$this-&gt;ResultString = $spwords[$i].$spc.$this-&gt;ResultString;<br>}else{<br>$this-&gt;ResultString = $spwords[$i-1].$spwords[$i].$spc.$this-&gt;ResultString; <br>$i--;<br>}<br>}<br>else{ <br>$this-&gt;ResultString = $this-&gt;RunRMM($spwords[$i],$tryNumName,$tryDiff).$spc.$this-&gt;ResultString;<br>}<br>}<br>}<br>}<br>$this-&gt;ResultString = preg_replace("/ {1,}/"," ",$this-&gt;ResultString);<br>//return $this-&gt;ParNumber($this-&gt;ResultString);<br>return $this-&gt;ResultString;<br>}<br>//------------------------<br>//对常规数量词进行识别<br>//------------------------<br>function ParNumber($str){<br>if($str == "") return "";<br>$ws = explode(' ',$str);<br>$wlen = count($ws);<br>$spc = $this-&gt;SplitChar;<br>$reStr = "";<br>for($i=0;$i&lt;$wlen;$i++){<br>if($ws[$i]=="") continue;<br>if($i&gt;=$wlen-1) $reStr .= $spc.$ws[$i];<br>else{ $reStr .= $spc.$ws[$i]; }<br>}<br>return $reStr;<br>}<br>//-------------------------------<br>//进行名字识别和其它数词识别<br>//--------------------------------<br>function ParOther($WordArray)<br>{<br>$wlen = count($WordArray)-1;<br>$rsStr = "";<br>$spc = $this-&gt;SplitChar;<br>for($i=$wlen;$i&gt;=0;$i--)<br>{<br>//数量词<br>if(preg_match("/".$this-&gt;CnSgNum."/",$WordArray[$i])){<br>$rsStr .= $spc.$WordArray[$i];<br>if($i&gt;0 &amp;&amp; preg_match("/^".$this-&gt;CommonUnit."/",$WordArray[$i-1]))<br>{ $rsStr .= $WordArray[$i-1]; $i--; }<br>else{<br>while($i&gt;0 &amp;&amp; preg_match("/".$this-&gt;CnSgNum."/",$WordArray[$i-1]))<br>{ $rsStr .= $WordArray[$i-1]; $i--; }<br>}<br>continue;<br>}<br>//双字姓<br>if(strlen($WordArray[$i])==4 &amp;&amp; isset($this-&gt;TwoNameDic[$WordArray[$i]]))<br>{<br>$rsStr .= $spc.$WordArray[$i];<br>if($i&gt;0&amp;&amp;strlen($WordArray[$i-1])==2){<br>$rsStr .= $WordArray[$i-1];$i--;<br>if($i&gt;0&amp;&amp;strlen($WordArray[$i-1])==2){ $rsStr .= $WordArray[$i-1];$i--; }<br>}<br>}<br>//单字姓<br>else if(strlen($WordArray[$i])==2 &amp;&amp; isset($this-&gt;OneNameDic[$WordArray[$i]]))<br>{<br>$rsStr .= $spc.$WordArray[$i];<br>if($i&gt;0&amp;&amp;strlen($WordArray[$i-1])==2){<br>if(preg_match("/".$this-&gt;EspecialChar."/",$WordArray[$i-1])) continue;<br>$rsStr .= $WordArray[$i-1];$i--;<br>if($i&gt;0 &amp;&amp; strlen($WordArray[$i-1])==2 &amp;&amp;<br>!preg_match("/".$this-&gt;EspecialChar."/",$WordArray[$i-1]))<br>{ $rsStr .= $WordArray[$i-1];$i--; }<br>}<br>}<br>//普通词汇<br>else{<br>$rsStr .= $spc.$WordArray[$i];<br>}<br>}<br>//返回本段分词结果<br>$rsStr = preg_replace("/^".$spc."/","",$rsStr);<br>return $rsStr;<br>}<br>//对全中文字符串进行逆向匹配方式分解<br>function RunRMM($str,$tryNumName=true,$tryDiff=true)<br>{<br>$spc = $this-&gt;SplitChar;<br>$spLen = strlen($str);<br>$rsStr = "";<br>$okWord = "";<br>$tmpWord = "";<br>$WordArray = Array();<br>//逆向字典匹配<br>for($i=($spLen-1);$i&gt;=0;)<br>{<br>//当i达到最小可能词的时候<br>if($i&lt;=$this-&gt;MinLen){<br>if($i==1){<br>$WordArray[] = substr($str,0,2);<br>}else{<br>$w = substr($str,0,$this-&gt;MinLen+1);<br>if($this-&gt;IsWord($w)){<br>$WordArray[] = $w; <br>}else{<br>$WordArray[] = substr($str,2,2);<br>$WordArray[] = substr($str,0,2);<br>}<br>}<br>$i = -1; break;<br>}<br>//分析在最小词以上时的情况<br>if($i&gt;=$this-&gt;MaxLen) $maxPos = $this-&gt;MaxLen;<br>else $maxPos = $i;<br>$isMatch = false;<br>for($j=$maxPos;$j&gt;=0;$j=$j-2){<br>$w = substr($str,$i-$j,$j+1);<br>if($this-&gt;IsWord($w)){<br>$WordArray[] = $w;<br>$i = $i-$j-1;<br>$isMatch = true;<br>break;<br>}<br>}<br>if(!$isMatch){<br>if($i&gt;1) {<br>$WordArray[] = $str[$i-1].$str[$i];<br>$i = $i-2;<br>}<br>}<br>}//End For<br><br>//名字和数量词识别<br>if($tryNumName)<br>{ $rsStr = $this-&gt;ParOther($WordArray); }<br>else{<br>$wlen = count($WordArray)-1;<br>for($i=$wlen;$i&gt;=0;$i--){<br>$rsStr .= $spc.$WordArray[$i];<br>}<br>}<br><br>//消岐处理<br>if($tryDiff) $rsStr = $this-&gt;TestDiff(trim($rsStr));<br><br>return $rsStr;<br>}<br>//----------------------------------<br>//对分词结果进行消岐处理<br>//----------------------------------<br>function TestDiff($str){<br>$str = preg_replace("/ {1,}/"," ",$str);<br>if($str == ""||$str == " ") return "";<br>$ws = explode(' ',$str);<br>$wlen = count($ws);<br>$spc = $this-&gt;SplitChar;<br>$reStr = "";<br>for($i=0;$i&lt;$wlen;$i++){<br>//循环到最后一个词不处理<br>if($i&gt;=($wlen-1)) {<br>$reStr .= $spc.$ws[$i];<br>}<br>//其它词的处理<br>else{<br>//叠词规则<br>if($ws[$i]==$ws[$i+1]){<br>$reStr .= $spc.$ws[$i].$ws[$i+1];<br>$i++; continue;<br>}<br>//单字词和二三字词之间的岐义处理<br>if(strlen($ws[$i])==2 &amp;&amp; strlen($ws[$i+1])&lt;8 &amp;&amp; strlen($ws[$i+1])&gt;2){<br>$addw = $ws[$i].$ws[$i+1];<br>$t = 6;<br>$testok = false;<br>while($t&gt;=4){<br>$w = substr($addw,0,$t);<br>if($this-&gt;IsWord($w) <br>&amp;&amp; ($this-&gt;GetRank($w) &gt; $this-&gt;GetRank($ws[$i+1])*2) ){<br>$limitW = substr($ws[$i+1],strlen($ws[$i+1])-$t-2,strlen($ws[$i+1])-strlen($w)+2);<br>if($limitW!="") $reStr .= $spc.$w.$spc.$limitW;<br>else $reStr .= $spc.$w;<br>$testok = true;<br>break;<br>}<br>$t = $t-2;<br>}<br>if(!$testok) $reStr .= $spc.$ws[$i];<br>else $i++;<br>}<br>//前后均为二字到三字的词进行交叉岐义处理<br>else if(strlen($ws[$i])&gt;2 &amp;&amp; strlen($ws[$i])&lt;8<br>&amp;&amp; strlen($ws[$i+1])&gt;2 &amp;&amp; strlen($ws[$i+1])&lt;8)<br>{<br>$t21 = substr($ws[$i+1],0,2);<br>$t22 = substr($ws[$i+1],0,4);<br>//如果上一个词接下一个词的首字为词<br>if($this-&gt;IsWord($ws[$i].$t21)){<br>if(strlen($ws[$i])==6||strlen($ws[$i+1])==6){<br>$reStr .= $spc.$ws[$i].$t21.$spc.substr($ws[$i+1],2,strlen($ws[$i+1])-2);<br>$i++;<br>}else{<br>$reStr .= $spc.$ws[$i];<br>}<br>}<br>//对于下一个词为3字词或2字词进行不同的处理<br>else if(strlen($ws[$i+1])==6){<br>if($this-&gt;IsWord($ws[$i].$t22)){<br>$reStr .= $spc.$ws[$i].$t22.$spc.$ws[$i+1][4].$ws[$i+1][5];<br>$i++;<br>}else{ $reStr .= $spc.$ws[$i]; }<br>}<br>//<br>//两字词交叉识别，视情况选择<br>//<br>else if(strlen($ws[$i+1])==4){<br>$addw = $ws[$i].$ws[$i+1];<br>$t = strlen($ws[$i+1])-2;<br>$testok = false;<br>while($t&gt;0){<br>$w = substr($addw,0,strlen($ws[$i])+$t);<br>if($this-&gt;IsWord($w) <br>&amp;&amp; ($this-&gt;GetRank($w) &gt; $this-&gt;GetRank($ws[$i+1])*2) )<br>{<br>$limitW = substr($ws[$i+1],$t,strlen($ws[$i+1])-$t);<br>if($limitW!="") $reStr .= $spc.$w.$spc.$limitW;<br>else $reStr .= $spc.$w;<br>$testok = true;<br>break;<br>}<br>$t = $t-2;<br>}<br>if(!$testok) $reStr .= $spc.$ws[$i];<br>else $i++;<br>}<br>else<br>{ $reStr .= $spc.$ws[$i]; }<br><br>}<br>//超过四字词或小于二字的词不作处理<br>else{<br>$reStr .= $spc.$ws[$i];<br>}<br>}<br>}//End For<br>return $reStr;<br>}<br>//---------------------------------<br>//判断词典里是否存在某个词<br>//---------------------------------<br>function IsWord($okWord){<br>$slen = strlen($okWord);<br>if($slen &gt; $this-&gt;MaxLen) return false;<br>else return isset($this-&gt;RankDic[$slen][$okWord]);<br>}<br>//------------------------------<br>//整理字符串（对标点符号，中英文混排等初步处理）<br>//------------------------------<br>function ReviseString($str)<br>{<br>$spc = $this-&gt;SplitChar;<br>$slen = strlen($str);<br>if($slen==0) return '';<br>$okstr = '';<br>$prechar = 0; // 0-空白 1-英文 2-中文 3-符号<br>for($i=0;$i&lt;$slen;$i++){<br>if(ord($str[$i]) &lt; 0x81)<br>{<br>//英文的空白符号<br>if(ord($str[$i]) &lt; 33){<br>//$str[$i]!="\r"&amp;&amp;$str[$i]!="\n"<br>if($prechar!=0) $okstr .= $spc;<br>$prechar=0;<br>continue; <br>}else if(preg_match("/[^0-9a-zA-Z@\.%#:\\/\\&amp;_-]/",$str[$i]))<br>{<br>if($prechar==0)<br>{ $okstr .= $str[$i]; $prechar=3;}<br>else<br>{ $okstr .= $spc.$str[$i]; $prechar=3;}<br>}else<br>{<br>if($prechar==2||$prechar==3)<br>{ $okstr .= $spc.$str[$i]; $prechar=1;}<br>else<br>{ <br>if(preg_match("/@#%:/",$str[$i])){ $okstr .= $str[$i]; $prechar=3; }<br>else { $okstr .= $str[$i]; $prechar=1; }<br>}<br>}<br>}<br>else{<br>//如果上一个字符为非中文和非空格，则加一个空格<br>if($prechar!=0 &amp;&amp; $prechar!=2) $okstr .= $spc;<br>//如果中文字符<br>if(isset($str[$i+1])){<br>$c = $str[$i].$str[$i+1];<br><br>if(preg_match("/".$this-&gt;CnNumber."/",$c))<br>{ $okstr .= $this-&gt;GetAlabNum($c); $prechar = 2; $i++; continue; }<br><br>$n = hexdec(bin2hex($c));<br>if($n&gt;0xA13F &amp;&amp; $n &lt; 0xAA40)<br>{<br>if($c=="《"){<br>if($prechar!=0) $okstr .= $spc." 《";<br>else $okstr .= " 《";<br>$prechar = 2;<br>}<br>else if($c=="》"){<br>$okstr .= "》 ";<br>$prechar = 3;<br>}<br>else{<br>if($prechar!=0) $okstr .= $spc.$c;<br>else $okstr .= $c;<br>$prechar = 3; <br>}<br>}<br>else{<br>$okstr .= $c;<br>$prechar = 2;<br>}<br>$i++;<br>}<br>}//中文字符<br>}//结束循环<br>return $okstr;<br>}<br>//-----------------------------------------<br>//尝试识别新词，字符串参数为已经分词处理的串<br>//----------------------------------------<br>function FindNewWord($str,$maxlen=6)<br>{<br>$okstr = "";<br>return $str;<br>}<br>//----------------------------------------------<br>//除去字串中的重复词，生成索引字符串，字符串参数为已经分词处理的串<br>//--------------------------------------------------<br>function GetIndexText($okstr,$ilen=-1)<br>{<br>if($okstr=="") return "";<br>$ws = explode(" ",$okstr);<br>$okstr = "";<br>$wks = "";<br>foreach($ws as $w)<br>{<br>$w = trim($w);<br>//排除小于2的字符<br>if(strlen($w)&lt;2) continue;<br>//排除数字或日期<br>if(!preg_match("/[^0-9:-]/",$w)) continue;<br>if(strlen($w)==2&amp;&amp;ord($w[0])&gt;0x80) continue;<br>if(isset($wks[$w])) $wks[$w]++;<br>else $wks[$w] = 1;<br>}<br>if(is_array($wks))<br>{<br>arsort($wks);<br>if($ilen==-1)<br>{ foreach($wks as $w=&gt;$v)<br>{<br>if($this-&gt;GetRank($w)&gt;500) $okstr .= $w." ";<br>}<br>}<br>else<br>{<br>foreach($wks as $w=&gt;$v){<br>if((strlen($okstr)+strlen($w)+1)&lt;$ilen) $okstr .= $w." ";<br>else break;<br>}<br>}<br>}<br>return trim($okstr);<br>}<br>//---------------------<br>//获得词的词频<br>//--------------------<br>function GetRank($w){<br>if(isset($this-&gt;RankDic[strlen($w)][$w])) return $this-&gt;RankDic[strlen($w)][$w];<br>else return 0;<br>}<br>//----------------------------<br>//把全角数字或英文单词转为半角<br>//---------------------------<br>function GetAlabNum($fnum)<br>{<br>$nums = array("０","１","２","３","４","５","６",<br>"７","８","９","＋","－","％","．",<br>"ａ","ｂ","ｃ","ｄ","ｅ","ｆ","ｇ","ｈ","ｉ","ｊ","ｋ","ｌ","ｍ",<br>"ｎ","ｏ","ｐ","ｑ","ｒ","ｓ ","ｔ","ｕ","ｖ","ｗ","ｘ","ｙ","ｚ",<br>"Ａ","Ｂ","Ｃ","Ｄ","Ｅ","Ｆ","Ｇ","Ｈ","Ｉ","Ｊ","Ｋ","Ｌ","Ｍ",<br>"Ｎ","Ｏ","Ｐ","Ｑ","Ｒ","Ｓ","Ｔ","Ｕ","Ｖ","Ｗ","Ｘ","Ｙ","Ｚ");<br>$fnums = "0123456789+-%.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";<br>for($i=0;$i if($nums[$i]==$fnum) return $fnums[$i];<br>}<br>return $fnum;<br>}<br>}//End Class<br>[/php]<br>
<img src ="http://www.cnitblog.com/zhand/aggbug/55819.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2009-03-28 01:39 <a href="http://www.cnitblog.com/zhand/articles/55819.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>国际：优秀的PHP程序员至少应该了解PHP代码的优缺点</title><link>http://www.cnitblog.com/zhand/articles/53590.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Thu, 08 Jan 2009 00:59:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/53590.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/53590.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/53590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/53590.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/53590.html</trackback:ping><description><![CDATA[来自：CSDN<br>
<div style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; BORDER-BOTTOM: #666666 1px solid">我在SitePoint做面试官的时候一定会问的问题是：你认为PHP代码的优劣体现在哪里？因为这个问题可以让我大体知道应聘者是哪种类型的程序员。</div>
<div id=vogate_ad_area>
<p>
<p>我在SitePoint做面试官的时候一定会问的问题是：你认为PHP代码的优劣体现在哪里？因为这个问题可以让我大体知道应聘者是哪种类型的程序员，而不是单纯地考察他对PHP函数的掌握程度（这一点Zend的PHP认证做得不错，雅虎的PHP程序员面试题也属于此类）。重要的是，这个问题可以让我知道应聘者是否经历过这样的事情——从一个懒散程序员手中接过一段凌乱的代码进行重用，或者要帮助团队中的其他成员来处理这类事情。</p>
<p>诚然，对于这个问题我自己也没有一个满意的答案，不过我知道哪些答案是我想听到的：</p>
<p>优秀的PHP代码应该是结构化的。大段的代码应该被分割整理成一个个函数或方法，而那些不起眼的小段代码则应该加上注释，以便日后清楚它们的用途。而且应该尽可能地把前台代码如HTML、CSS、Javascript等从程序中分离出来。PHP的面向对象编程特性可以很好地帮助程序员将代码整理有序。</p>
<p>优秀的PHP代码应该是规范化的。无论是为变量名和函数名设定命名规则，还是对一些会重复使用的过程如数据库操作和错误处理进行标准化，抑或是简单到规定好代码是怎样缩进的，这些规范化都可以让代码的可读性大大提高。</p>
<p>优良的PHP代码应该是自适应的。PHP有许多特性如magic quotes和short tags，这些特性的打开和关闭会影响到程序的运行。所以，一个好的程序员应该在他的代码中加入适当的语句来使程序能够根据环境进行调整。</p>
<p>优良的PHP代码应该是安全的。虽然PHP是一种高效、灵活的语言，没有固定的框架，但却把安全问题留给了程序员们。对潜在安全漏洞的深刻理解，如跨站脚本攻击（XSS）、跨站请求伪造（CSRF）、代码注入漏洞、字符编码循环漏洞等，对于今天的专业程序员来说是至关重要的。</p>
<p>当应聘者在回答这些问题的时候，我就能清楚地知道是否该录用他。当然，有时程序员并不能很好地阐明这个问题，这时我们会让他们做一些PHP测试。测试中的许多问题表面上看起来非常简单，但这也给了应聘者们一个展现自我的机会，因为只要观察得仔细，就能找出问题。</p>
<p>下面这一小段&#8220;劣质&#8221;的PHP代码是一道简化了的测试题。这种问题就像在问：你该怎样优化这段代码？</p>
<p><img class="" alt="" src="http://info-database.csdn.net/Upload/2009-01-07/%7BBC286E48-1C9A-4ABB-8A05-22FDBC576C47%7D.jpg"></p>
<p>这段代码的主要问题在于它把用户提交的数据直接显示到了网页上，从而产生XSS漏洞。其实有很多方法可以填补这个漏洞。那么，什么代码是我们想要的呢？</p>
<p><img class="" alt="" src="http://info-database.csdn.net/Upload/2009-01-07/%7BE6D3AE21-3CA4-4C8E-AC80-13206D9261BB%7D.jpg"></p>
<p>这是最低要求。XSS漏洞用htmlspecialchars函数填补了，从而屏蔽了非法字符。</p>
<p><img class="" alt="" src="http://info-database.csdn.net/Upload/2009-01-07/%7B4AF61A27-803D-43B7-80CC-2DFD16C6C45D%7D.jpg"></p>
<p>能写出这样代码的人应该是我想要录用的人了：</p>
<p><img class="" alt="" src="http://info-database.csdn.net/Upload/2009-01-07/%7BB53104E9-63C6-4C89-A73E-3B628E1B9C52%7D.jpg"></p>
<p>可惜的是，能给出这样让人满意答复的程序员少之又少。我们花了3个月的时间才招聘到让我们满意的程序员.</p>
<p>那么，你会怎样回答文章开头提出的问题呢？你认为PHP代码的缺点体现在哪里？你认为一个PHP程序员还应具有哪些品质？</p>
<p>&#160;</p>
</div>
<img src ="http://www.cnitblog.com/zhand/aggbug/53590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2009-01-08 08:59 <a href="http://www.cnitblog.com/zhand/articles/53590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何导入导出*.sql文件到MySQL数据库</title><link>http://www.cnitblog.com/zhand/articles/53563.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Wed, 07 Jan 2009 06:02:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/53563.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/53563.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/53563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/53563.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/53563.html</trackback:ping><description><![CDATA[<p>如何导入导出*.sql文件到MySQL数据库</p>
<blockquote dir=ltr style="MARGIN-RIGHT: 0px">
<div class=postText>
<p>1. 概述 <font color=#ffffff>.</font><br>MySQL数据库的导入，有两种方法：<br>1) 先导出数据库SQL脚本，再导入；<br>2) 直接拷贝数据库目录和文件。<br><br>在不同操作系统或MySQL版本情况下，直接拷贝文件的方法可能会有不兼容的情况发生。<br>所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。<br><br>Linux下：<font color=#ffffff>.</font><br><br>2. 方法一 SQL脚本形式<br>操作步骤如下：<br>2.1. 导出SQL脚本<br>在原数据库服务器上，可以用phpMyAdmin工具，或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行，导出SQL脚本。<br>2.1.1 用phpMyAdmin工具<br>导出选项中，选择导出&#8220;结构&#8221;和&#8220;数据&#8221;，不要添加&#8220;DROP DATABASE&#8221;和&#8220;DROP TABLE&#8221;选项。<br>选中&#8220;另存为文件&#8221;选项，如果数据比较多，可以选中&#8220;gzipped&#8221;选项。<br>将导出的SQL文件保存下来。<br><br>2.1.2 用mysqldump命令行<br>命令格式<font color=#ffffff>.</font><br>mysqldump -u用户名 -p 数据库名 &gt; 数据库名.sql<br>范例：<br>mysqldump -uroot -p abc &gt; abc.sql<br>（导出数据库abc到abc.sql文件）<br><br>提示输入密码时，输入该数据库用户名的密码。<br><br>2.2. 创建空的数据库<br>通过主控界面/控制面板，创建一个数据库。假设数据库名为abc，数据库全权用户为abc_f。<br><br>2.3. 将SQL脚本导入执行<font color=#ffffff>.</font><br>同样是两种方法，一种用phpMyAdmin（mysql数据库管理）工具，或者mysql命令行。<br>2.3.1 用phpMyAdmin工具<br>从控制面板，选择创建的空数据库，点&#8220;管理&#8221;，进入管理工具页面。<br>在"SQL"菜单中，浏览选择刚才导出的SQL文件，点击&#8220;执行&#8221;以上载并执行。<br><br>注意：phpMyAdmin对上载的文件大小有限制，php本身对上载文件大小也有限制，如果原始sql文件<br>比较大，可以先用gzip对它进行压缩，对于sql文件这样的文本文件，可获得1:5或更高的压缩率。<br>gzip使用方法：<br># gzip xxxxx.sql<br>得到<font color=#ffffff>.</font><br>xxxxx.sql.gz文件。<br><br>2.3.2 用mysql命令行<br>命令格式<br>mysql -u用户名 -p 数据库名 &lt; 数据库名.sql<br>范例：<br>mysql -uabc_f -p abc &lt; abc.sql<br>（导入数据库abc从abc.sql文件）<br><br>提示输入密码时，输入该数据库用户名的密码。<br><br>3 方法二 直接拷贝<br>如果数据库比较大，可以考虑用直接拷贝的方法，但不同版本和操作系统之间可能不兼容，要慎用。<br>3.1 准备原始文件<br>用tar打包为一个文件<br><font color=#ffffff>.</font><br>3.2 创建空数据库<br><br>3.3 解压<br>在临时目录中解压，如：<br>cd /tmp<br>tar zxf mydb.tar.gz<br><br>3.4 拷贝<br>将解压后的数据库文件拷贝到相关目录<br>cd mydb/<br>cp * /var/lib/mysql/mydb/<br><br>对于FreeBSD:<br>cp * /var/db/mysql/mydb/<br><br>3.5 权限设置<br>将拷贝过去的文件的属主改为mysql:mysql，权限改为660<br>chown mysql:mysql /var/lib/mysql/mydb/*<br>chmod 660 /var/lib/mysql/mydb/*<br>把mysqldump出来的数据修改一下。除了要把表增加上) TYPE=MyISAM CHARACTER SET gbk;以外，在下面再增加一句SET NAMES GBK; <br><br>这样，数据就可以平滑的导入4.1了，而不必怕出现乱码。<br><br>Windows下：<br><br>DOS　窗口<br>开始－＞运行－＞　cmd<br>导出为：　<font color=#ff0000>mysqldump -u 用户名 -p --opt 数据库用户名 &gt; 数据库名.sql</font><br><br>输入你的数据库密码!<font color=#ffffff>.</font><br><br>导入为：<font color=#ff0000>mysql -u 用户名 -p 数据库用户名 &lt; 数据库名.sql </font>（要在当前目录下操作）</p>
<p>&#160;</p>
<p>导出触发器：</p>
<pre>SELECT CONCAT('CREATE TRIGGER ', t.TRIGGER_SCHEMA, '.', t.TRIGGER_NAME,
' ', t.ACTION_TIMING, ' ', t.EVENT_MANIPULATION, ' ON ',
t.EVENT_OBJECT_SCHEMA, '.', t.EVENT_OBJECT_TABLE,
' FOR EACH ROW ', t.ACTION_STATEMENT, '//' )
INTO OUTFILE '/tmp/triggers.sql'
FROM INFORMATION_SCHEMA.TRIGGERS AS t;
<pre> </pre>
</pre>
</div>
</blockquote>
<img src ="http://www.cnitblog.com/zhand/aggbug/53563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2009-01-07 14:02 <a href="http://www.cnitblog.com/zhand/articles/53563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>