<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[经典收藏PHP常用函数]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Wed, 22 Apr 2009 01:09:53 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	<div class="code"><br/><br/>&lt;?<br/>function GetIP() &#123; //获取IP zuolo:由于防火墙的原因 REMOTE_ADDR 就是服务器外网IP<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($_SERVER&#91;&quot;HTTP_X_FORWARDED_FOR&quot;&#93;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = $_SERVER&#91;&quot;HTTP_X_FORWARDED_FOR&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if ($_SERVER&#91;&quot;HTTP_CLIENT_IP&quot;&#93;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = $_SERVER&#91;&quot;HTTP_CLIENT_IP&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if ($_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = $_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if (getenv(&quot;HTTP_X_FORWARDED_FOR&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = getenv(&quot;HTTP_X_FORWARDED_FOR&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if (getenv(&quot;HTTP_CLIENT_IP&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = getenv(&quot;HTTP_CLIENT_IP&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if (getenv(&quot;REMOTE_ADDR&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = getenv(&quot;REMOTE_ADDR&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = &quot;Unknown&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $ip;<br/>&#125;<br/>?&gt;<br/><br/></div><br/><br/><br/><div class="code"><br/><br/>&lt;?php<br/>function DateAdd($date, $int, $unit = &quot;d&quot;) &#123; //时间的增加（还可以改进成时分秒都可以增加，有时间再补上）<br/>&nbsp;&nbsp;&nbsp;&nbsp;$dateArr = explode(&quot;-&quot;, $date);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$value&#91;$unit&#93; = $int;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return date(&quot;Y-m-d&quot;, mktime(0,0,0, $dateArr&#91;1&#93; + $value&#91;&#039;m&#039;&#93;, $dateArr&#91;2&#93; + $value&#91;&#039;d&#039;&#93;, $dateArr&#91;0&#93; + $value&#91;&#039;y&#039;&#93;));<br/>&#125;<br/><br/>function GetWeekDay($date) &#123; //计算出给出的日期是星期几<br/>&nbsp;&nbsp;&nbsp;&nbsp;$dateArr = explode(&quot;-&quot;, $date);<br/>&nbsp;&nbsp;&nbsp;&nbsp;return date(&quot;w&quot;, mktime(0,0,0,$dateArr&#91;1&#93;,$dateArr&#91;2&#93;,$dateArr&#91;0&#93;));<br/>&#125;<br/>?&gt;<br/><br/></div><br/><br/><br/><br/><div class="code"><br/>&lt;?<br/>function check_date($date) &#123; //检查日期是否合法日期<br/>&nbsp;&nbsp;&nbsp;&nbsp;$dateArr = explode(&quot;-&quot;, $date);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (is_numeric($dateArr&#91;0&#93;) &amp;&amp; is_numeric($dateArr&#91;1&#93;) &amp;&amp; is_numeric($dateArr&#91;2&#93;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return checkdate($dateArr&#91;1&#93;,$dateArr&#91;2&#93;,$dateArr&#91;0&#93;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&#125;<br/>function check_time($time) &#123; //检查时间是否合法时间<br/>&nbsp;&nbsp;&nbsp;&nbsp;$timeArr = explode(&quot;:&quot;, $time);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (is_numeric($timeArr&#91;0&#93;) &amp;&amp; is_numeric($timeArr&#91;1&#93;) &amp;&amp; is_numeric($timeArr&#91;2&#93;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (($timeArr&#91;0&#93; &gt;= 0 &amp;&amp; $timeArr&#91;0&#93; &lt;= 23) &amp;&amp; ($timeArr&#91;1&#93; &gt;= 0 &amp;&amp; $timeArr&#91;1&#93; &lt;= 59) &amp;&amp; ($timeArr&#91;2&#93; &gt;= 0 &amp;&amp; $timeArr&#91;2&#93; &lt;= 59))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&#125;<br/><br/>function DateDiff($date1, $date2, $unit = &quot;&quot;) &#123; //时间比较函数，返回两个日期相差几秒、几分钟、几小时或几天<br/>&nbsp;&nbsp;&nbsp;&nbsp;switch ($unit) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &#039;s&#039;:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dividend = 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &#039;i&#039;:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dividend = 60;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &#039;h&#039;:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dividend = 3600;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &#039;d&#039;:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dividend = 86400;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dividend = 86400;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$time1 = strtotime($date1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$time2 = strtotime($date2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($time1 &amp;&amp; $time2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (float)($time1 - $time2) / $dividend;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&#125;<br/><br/>?&gt;<br/><br/><br/><br/></div><br/><br/>PHP重定向<br/><div class="code"><br/><br/>&lt;?<br/>方法一：header(&quot;Location: index.php&quot;);<br/>方法二：echo &quot;&lt;scrīpt&gt;window.location =&quot;$PHP_SELF&quot;;&lt;/scrīpt&gt;&quot;;<br/>方法三：echo &quot;&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;0; URL=index.php&quot;&gt;&quot;;<br/><br/>?&gt;<br/><br/><br/></div><br/><br/><div class="code"><br/>&lt;?<br/>//获取访问者浏览器<br/>function browse_infor()<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$browser=&quot;&quot;;$browserver=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$Browsers =array(&quot;Lynx&quot;,&quot;MOSAIC&quot;,&quot;AOL&quot;,&quot;Opera&quot;,&quot;JAVA&quot;,&quot;MacWeb&quot;,&quot;WebExplorer&quot;,&quot;OmniWeb&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$Agent = $_SERVER&#91;&quot;HTTP_USER_AGENT&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for ($i=0; $i&lt;=7; $i++)&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strpos($Agent,$Browsers&#91;$i&#93;))&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browser = $Browsers&#91;$i&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browserver =&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;if (ereg(&quot;Mozilla&quot;,$Agent) &amp;&amp; !ereg(&quot;MSIE&quot;,$Agent))&nbsp;&nbsp;&nbsp;&nbsp;&#123; bug：会把谷歌浏览器Chrome误认为Netscape Navigator<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot;(&quot;, $Agent); $Part=$temp&#91;0&#93;;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot;/&quot;, $Part); $browserver=$temp&#91;1&#93;;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot; &quot;,$browserver); $browserver=$temp&#91;0&#93;;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browserver =preg_replace(&quot;/(&#91;d.&#93;+)/&quot;,&quot;1&quot;,$browserver);<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browser = &quot;Netscape Navigator&quot;;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (ereg(&quot;Mozilla&quot;,$Agent) &amp;&amp; ereg(&quot;Chrome&quot;,$Agent))&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browserver=substr($Agent,strripos($Agent, &quot;Chrome&quot;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browserver=substr($browserver,7,(strripos($browserver,&quot; &quot;)-7));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browser = &quot;Google Chrome&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (ereg(&quot;Mozilla&quot;,$Agent) &amp;&amp; ereg(&quot;Opera&quot;,$Agent))&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot;(&quot;, $Agent); $Part=$temp&#91;1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot;)&quot;, $Part); $browserver=$temp&#91;1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp =explode(&quot; &quot;,$browserver);$browserver=$temp&#91;2&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browserver =preg_replace(&quot;/(&#91;d.&#93;+)/&quot;,&quot;1&quot;,$browserver);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browser = &quot;Opera&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (ereg(&quot;Mozilla&quot;,$Agent) &amp;&amp; ereg(&quot;MSIE&quot;,$Agent))&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp = explode(&quot;(&quot;, $Agent); $Part=$temp&#91;1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp = explode(&quot;;&quot;,$Part); $Part=$temp&#91;1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp = explode(&quot; &quot;,$Part);$browserver=$temp&#91;2&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//$browserver =preg_replace(&quot;/(&#91;d.&#93;+)/&quot;,&quot;1&quot;,$browserver); bug：在IE7中会把版本号7.0转为710<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browser = &quot;Internet Explorer&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($browser!=&quot;&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browseinfo = &quot;$browser $browserver&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$browseinfo = &quot;Unknown&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $browseinfo;<br/>&#125;<br/><br/><br/>//获取访问者操作系统<br/>function osinfo() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$Agent = $_SERVER&#91;&quot;HTTP_USER_AGENT&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (eregi(&#039;win&#039;,$Agent) &amp;&amp; strpos($Agent, &#039;95&#039;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows 95&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win 9x&#039;,$Agent) &amp;&amp; strpos($Agent, &#039;4.90&#039;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows ME&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; ereg(&#039;98&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows 98&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; eregi(&#039;nt 5.0&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows 2000&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; eregi(&#039;nt 5.1&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows XP&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; eregi(&#039;nt 6.0&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows Vista&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; eregi(&#039;nt&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows NT&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;win&#039;,$Agent) &amp;&amp; ereg(&#039;32&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Windows 32&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;linux&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Linux&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;unix&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Unix&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;sun&#039;,$Agent) &amp;&amp; eregi(&#039;os&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;SunOS&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;ibm&#039;,$Agent) &amp;&amp; eregi(&#039;os&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;IBM OS/2&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;Mac&#039;,$Agent) &amp;&amp; eregi(&#039;PC&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;Macintosh&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;PowerPC&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;PowerPC&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;AIX&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;AIX&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;HPUX&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;HPUX&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;NetBSD&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;NetBSD&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;BSD&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;BSD&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (ereg(&#039;OSF1&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;OSF1&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (ereg(&#039;IRIX&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;IRIX&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;elseif (eregi(&#039;FreeBSD&#039;,$Agent)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$os=&quot;FreeBSD&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($os==&#039;&#039;) $os = &quot;Unknown&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $os;<br/>&#125;<br/><br/><br/><br/></div><br/><br/><br/>文件格式类<br/><br/><div class="code"><br/>&lt;?<br/>$mime_types = array(<br/>&#039;gif&#039; =&gt; &#039;image/gif&#039;,<br/>&#039;jpg&#039; =&gt; &#039;image/jpeg&#039;,<br/>&#039;jpeg&#039; =&gt; &#039;image/jpeg&#039;,<br/>&#039;jpe&#039; =&gt; &#039;image/jpeg&#039;,<br/>&#039;bmp&#039; =&gt; &#039;image/bmp&#039;,<br/>&#039;png&#039; =&gt; &#039;image/png&#039;,<br/>&#039;tif&#039; =&gt; &#039;image/tiff&#039;,<br/>&#039;tiff&#039; =&gt; &#039;image/tiff&#039;,<br/>&#039;pict&#039; =&gt; &#039;image/x-pict&#039;,<br/>&#039;pic&#039; =&gt; &#039;image/x-pict&#039;,<br/>&#039;pct&#039; =&gt; &#039;image/x-pict&#039;,<br/>&#039;tif&#039; =&gt; &#039;image/tiff&#039;,<br/>&#039;tiff&#039; =&gt; &#039;image/tiff&#039;,<br/>&#039;psd&#039; =&gt; &#039;image/x-photoshop&#039;,<br/><br/>&#039;swf&#039; =&gt; &#039;application/x-shockwave-flash&#039;,<br/>&#039;js&#039; =&gt; &#039;application/x-javascrīpt&#039;,<br/>&#039;pdf&#039; =&gt; &#039;application/pdf&#039;,<br/>&#039;ps&#039; =&gt; &#039;application/postscrīpt&#039;,<br/>&#039;eps&#039; =&gt; &#039;application/postscrīpt&#039;,<br/>&#039;ai&#039; =&gt; &#039;application/postscrīpt&#039;,<br/>&#039;wmf&#039; =&gt; &#039;application/x-msmetafile&#039;,<br/><br/>&#039;css&#039; =&gt; &#039;text/css&#039;,<br/>&#039;htm&#039; =&gt; &#039;text/html&#039;,<br/>&#039;html&#039; =&gt; &#039;text/html&#039;,<br/>&#039;txt&#039; =&gt; &#039;text/plain&#039;,<br/>&#039;xml&#039; =&gt; &#039;text/xml&#039;,<br/>&#039;wml&#039; =&gt; &#039;text/wml&#039;,<br/>&#039;wbmp&#039; =&gt; &#039;image/vnd.wap.wbmp&#039;,<br/><br/>&#039;mid&#039; =&gt; &#039;audio/midi&#039;,<br/>&#039;wav&#039; =&gt; &#039;audio/wav&#039;,<br/>&#039;mp3&#039; =&gt; &#039;audio/mpeg&#039;,<br/>&#039;mp2&#039; =&gt; &#039;audio/mpeg&#039;,<br/><br/>&#039;avi&#039; =&gt; &#039;video/x-msvideo&#039;,<br/>&#039;mpeg&#039; =&gt; &#039;video/mpeg&#039;,<br/>&#039;mpg&#039; =&gt; &#039;video/mpeg&#039;,<br/>&#039;qt&#039; =&gt; &#039;video/quicktime&#039;,<br/>&#039;mov&#039; =&gt; &#039;video/quicktime&#039;,<br/><br/>&#039;lha&#039; =&gt; &#039;application/x-lha&#039;,<br/>&#039;lzh&#039; =&gt; &#039;application/x-lha&#039;,<br/>&#039;z&#039; =&gt; &#039;application/x-compress&#039;,<br/>&#039;gtar&#039; =&gt; &#039;application/x-gtar&#039;,<br/>&#039;gz&#039; =&gt; &#039;application/x-gzip&#039;,<br/>&#039;gzip&#039; =&gt; &#039;application/x-gzip&#039;,<br/>&#039;tgz&#039; =&gt; &#039;application/x-gzip&#039;,<br/>&#039;tar&#039; =&gt; &#039;application/x-tar&#039;,<br/>&#039;bz2&#039; =&gt; &#039;application/bzip2&#039;,<br/>&#039;zip&#039; =&gt; &#039;application/zip&#039;,<br/>&#039;arj&#039; =&gt; &#039;application/x-arj&#039;,<br/>&#039;rar&#039; =&gt; &#039;application/x-rar-compressed&#039;,<br/><br/>&#039;hqx&#039; =&gt; &#039;application/mac-binhex40&#039;,<br/>&#039;sit&#039; =&gt; &#039;application/x-stuffit&#039;,<br/>&#039;bin&#039; =&gt; &#039;application/x-macbinary&#039;,<br/><br/>&#039;uu&#039; =&gt; &#039;text/x-uuencode&#039;,<br/>&#039;uue&#039; =&gt; &#039;text/x-uuencode&#039;,<br/><br/>&#039;latex&#039;=&gt; &#039;application/x-latex&#039;,<br/>&#039;ltx&#039; =&gt; &#039;application/x-latex&#039;,<br/>&#039;tcl&#039; =&gt; &#039;application/x-tcl&#039;,<br/><br/>&#039;pgp&#039; =&gt; &#039;application/pgp&#039;,<br/>&#039;asc&#039; =&gt; &#039;application/pgp&#039;,<br/>&#039;exe&#039; =&gt; &#039;application/x-msdownload&#039;,<br/>&#039;doc&#039; =&gt; &#039;application/msword&#039;,<br/>&#039;rtf&#039; =&gt; &#039;application/rtf&#039;,<br/>&#039;xls&#039; =&gt; &#039;application/vnd.ms-excel&#039;,<br/>&#039;ppt&#039; =&gt; &#039;application/vnd.ms-powerpoint&#039;,<br/>&#039;mdb&#039; =&gt; &#039;application/x-msaccess&#039;,<br/>&#039;wri&#039; =&gt; &#039;application/x-mswrite&#039;,<br/>);<br/><br/>?&gt;<br/><br/>&#91;code&#93;<br/><br/><br/><br/>php生成excel文档<br/><br/>&#91;code&#93;<br/>&lt;?<br/>header(&quot;Content-type:application/vnd.ms-excel&quot;);<br/>header(&quot;Content-Disposition:filename=test.xls&quot;);<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>echo &quot;test1t&quot;;<br/>echo &quot;test2tn&quot;;<br/>//改动相应文件头就可以输出.doc .xls等文件格式了<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>时间比较问题<br/>举一个简单例子说明:比如一个论坛对当天发表的贴子用new图片标记一下。<br/>方法一：<br/><div class="code"><br/>&lt;?<br/>//$db-&gt;rows&#91;$i&#93;&#91;date&#93;中为数据库中datetime字段值.<br/>$today=time();<br/>$theDay=date(&quot;Y-m-d H:i:s&quot;,$today-24*3600);<br/>$newTag=$db-&gt;rows&#91;$i&#93;&#91;date&#93;&gt;=$theDay?&quot;&lt;img src=&#039;../image/newinfor.gif&#039;&gt;&quot;:&quot;&quot;;<br/>//方法二：<br/>$newTag=$db-&gt;rows&#91;$i&#93;&#91;date&#93;&gt;=date(&quot;Y-m-d 00:00:00&quot;)?&quot;&lt;img src=&#039;../image/newinfor.gif&#039;&gt;&quot;:&quot;&quot;;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//提取页面和浏览器提交的变量，作用相当于使PHP.INI开了全局变量<br/><div class="code"><br/>&lt;?<br/>@extract($_SERVER, EXTR_SKIP);<br/>@extract($_SESSION, EXTR_SKIP);<br/>@extract($_POST, EXTR_SKIP);<br/>@extract($_FILES, EXTR_SKIP);<br/>@extract($_GET, EXTR_SKIP);<br/>@extract($_ENV, EXTR_SKIP);<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//读取文件函数<br/><div class="code"><br/>&lt;?<br/>function readfromfile($file_name) &#123;<br/>if (file_exists($file_name)) &#123;<br/>$filenum=fopen($file_name,&quot;r&quot;);<br/>flock($filenum,LOCK_EX);<br/>$file_data=fread($filenum, filesize($file_name));<br/>rewind($filenum);<br/>fclose($filenum);<br/>return $file_data;<br/>&#125;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//写入文件函数<br/><br/><div class="code"><br/>&lt;?<br/>function writetofile($file_name,$data,$method=&quot;w&quot;) &#123;<br/>$filenum=fopen($file_name,$method);<br/>flock($filenum,LOCK_EX);<br/>$file_data=fwrite($filenum,$data);<br/>fclose($filenum);<br/>return $file_data;<br/>&#125;<br/><br/>?&gt;<br/><br/><br/></div><br/><br/><br/>//页面快速转向<br/><br/><div class="code"><br/>&lt;?<br/>function turntopage($url=&quot;index.php&quot;,$info = &quot;页面转向中...&quot;,$second=2)&#123;<br/>print &quot;&lt;html&gt;n&lt;head&gt;n&lt;title&gt;页面转向中....&lt;/title&gt;n&quot;;<br/>print &quot;&lt;meta http-equiv=&quot;refresh&quot; content=&quot;$second;url=$url&quot;&gt;n&quot;;<br/>print &quot;&lt;style type=&quot;text/css&quot;&gt;n&lt;!--n&quot;;<br/>print &quot;td &#123; font-family: &quot;Verdana&quot;, &quot;Arial&quot;;font-size: 12px&#125;n&quot;;<br/>print &quot;A &#123;COLOR: #000000; TEXT-DECORATION: none&#125;n&quot;;<br/>print &quot;--&gt;n&lt;/style&gt;n&quot;;<br/>print &quot;&lt;/head&gt;n&lt;body&gt;n&quot;;<br/>print &quot;&lt;table width=&quot;100%&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td height=&quot;200&quot;&gt; &lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td align=&quot;center&quot;&gt;n&quot;;<br/>print &quot; &lt;table width=&quot;60%&quot; border=&quot;0&quot; cellpadding=&quot;8&quot; bgcolor=&quot;#AA9FFF&quot;&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td height=&quot;30&quot; align=&quot;center&quot;&gt;页面转向提示信息&lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td align=&quot;center&quot;&gt;$info&lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td align=&quot;center&quot;&gt;n&quot;;<br/>print &quot; &lt;a href=&quot;$url&quot;&gt;如果你的浏览器不支持自动跳转,请按这里&lt;/a&gt;&lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;/table&gt;&lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot; &lt;tr&gt;n&quot;;<br/>print &quot; &lt;td height=&quot;200&quot;&gt; &lt;/td&gt;n&quot;;<br/>print &quot; &lt;/tr&gt;n&quot;;<br/>print &quot;&lt;/table&gt;n&quot;;<br/>print &quot;&lt;/body&gt;n&lt;/html&gt;&quot;;<br/>exit;<br/>?&gt;<br/><br/></div><br/><br/><br/><br/><br/>产生随机字符串函数<br/><br/><div class="code"><br/>&lt;?<br/>function random($length) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$hash = &quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$chars = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$max = strlen($chars) - 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;mt_srand((double)microtime() * 1000000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;for($i = 0; $i &lt; $length; $i++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$hash .= $chars&#91;mt_rand(0, $max)&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $hash;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>截取一定长度的字符串（该函数对GB2312使用有效）<br/><div class="code"><br/>&lt;?<br/>function Wordscut($string, $length ,$sss=0) &#123;<br/>if(strlen($string) &gt; $length) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($sss)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$length=$length - 3;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$addstr=@# ...@#;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>for($i = 0; $i &lt; $length; $i++) &#123;<br/>&nbsp;&nbsp; if(ord($string&#91;$i&#93;) &gt; 127) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$wordscut .= $string&#91;$i&#93;.$string&#91;$i + 1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$i++;<br/>&nbsp;&nbsp; &#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$wordscut .= $string&#91;$i&#93;;<br/>&nbsp;&nbsp; &#125;<br/>&#125;<br/>return $wordscut.$addstr;<br/>&#125;<br/>return $string;<br/>&#125;<br/><br/>?&gt;<br/></div><br/><br/><br/><br/><br/>取得客户端IP地址 //zuolo 由于防火墙的原因 REMOTE_ADDR 就是服务器外网IP<br/><br/><div class="code"><br/>&lt;?<br/>function GetIP()&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (getenv(&quot;HTTP_CLIENT_IP&quot;) &amp;&amp; strcasecmp(getenv(&quot;HTTP_CLIENT_IP&quot;), &quot;unknown&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ip = getenv(&quot;HTTP_CLIENT_IP&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (getenv(&quot;HTTP_X_FORWARDED_FOR&quot;) &amp;&amp; strcasecmp(getenv<br/><br/>(&quot;HTTP_X_FORWARDED_FOR&quot;), &quot;unknown&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ip = getenv(&quot;HTTP_X_FORWARDED_FOR&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (getenv(&quot;REMOTE_ADDR&quot;) &amp;&amp; strcasecmp(getenv(&quot;REMOTE_ADDR&quot;), &quot;unknown&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ip = getenv(&quot;REMOTE_ADDR&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (isset($_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93;) &amp;&amp; $_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93; &amp;&amp; <br/><br/>strcasecmp($_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93;, &quot;unknown&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ip = $_SERVER&#91;&quot;REMOTE_ADDR&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ip = &quot;unknown&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return($ip);<br/>&#125;<br/><br/>?&gt;<br/><br/><br/></div><br/><br/><br/>判断邮箱地址<br/><br/><div class="code"><br/>&lt;?<br/>function checkEmail($inAddress)<br/>&#123;<br/>return (ereg(&quot;^(&#91;a-zA-Z0-9_-&#93;)+@(&#91;a-zA-Z0-9_-&#93;)+(.&#91;a-zA-Z0-9_-&#93;)+&quot;,$inAddress));<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>分页（两个函数配合使用）<br/><br/><div class="code"><br/>&lt;?<br/>function getpage($sql,$page_size=20)<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global $page,$totalpage,$sums; //out param<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page = $_GET&#91;&quot;page&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//$eachpage = $page_size;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pagesql = strstr($sql,&quot; from &quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pagesql = &quot;select count(*) as ids &quot;.$pagesql;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result = mysql_query($pagesql);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($rs = mysql_fetch_array($result)) $sums = $rs&#91;0&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$totalpage = ceil($sums/$page_size);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((!$page)($page&lt;1)) $page=1;<br/>&nbsp;&nbsp; $startpos = ($page-1)*$page_size;<br/>&nbsp;&nbsp; $sql .=&quot; limit $startpos,$page_size &quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $sql;<br/>&#125;<br/>function showbar($string=&quot;&quot;)<br/>&#123;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;global $page,$totalpage;<br/>$out=&quot;共&lt;font &quot;.$totalpage.&quot;color=@#red@#&gt;&lt;b&gt;&quot;.$totalpage.&quot;&lt;/b&gt;&lt;/font&gt;页 &quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$linkNum =4;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$start = ($page-round($linkNum/2))&gt;0 ? ($page-round($linkNum/2)) : &quot;1&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$end&nbsp;&nbsp; = ($page+round($linkNum/2))&lt;$totalpage ? ($page+round($linkNum/2)) : $totalpage;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$prestart=$start-1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$nextend=$end+1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if($page&lt;&gt;1) <br/>$out .= &quot;&lt;a href=@#?page=1&amp;&amp;&quot;.$string.&quot;@#title=第一页&gt;第一页&lt;/a&gt; &quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if($start&gt;1)<br/>$out.=&quot;&lt;a href=@#?page=&quot;.$prestart.&quot;@# title=上一页&gt;..&lt;&lt;&lt;/a&gt; &quot;;<br/><br/>for($t=$start;$t&lt;=$end;$t++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; $out .= ($page==$t) ? &quot;&lt;font &#91;&quot;.$t.&quot;&#93;color=@#red@#&gt;&lt;b&gt;&#91;&quot;.$t.&quot;&#93;&lt;/b&gt;&lt;/font&gt; &quot; : &quot;&lt;a $thref=@#?page=$t&amp;&amp;&quot;.$string.&quot;@#&gt;$t&lt;/a&gt; &quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>if($end&lt;$totalpage)<br/>$out.=&quot;&lt;a href=@#?page=&quot;.$nextend.&quot;&amp;&amp;&quot;.$string.&quot;@# title=下一页&gt;&gt;&gt;..&lt;/a&gt;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if($page&lt;&gt;$totalpage)<br/>&nbsp;&nbsp; $out .= &quot; &lt;a href=@#?page=&quot;.$totalpage.&quot;&amp;&amp;&quot;.$string.&quot;@# title=最后页&gt;最后页&lt;/a&gt;&quot;;<br/>&nbsp;&nbsp; return $out;<br/>&#125;<br/><br/>?&gt;<br/></div><br/><br/><br/><br/><br/>获取新插入数据的ID<br/><br/><div class="code"><br/>&lt;?<br/>mysql_insert_id();<br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//获得当前的脚本网址<br/><br/><div class="code"><br/>&lt;?<br/>function get_php_url()&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($_server&#91;&quot;REQUEST_URI&quot;&#93;))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$scriptName = $_SERVER&#91;&quot;REQUEST_URI&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nowurl = $scriptName;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$scriptName = $_SERVER&#91;&quot;PHP_SELF&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(empty($_SERVER&#91;&quot;QUERY_STRING&quot;&#93;)) $nowurl = $scriptName;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else $nowurl = $scriptName.&quot;?&quot;.$_SERVER&#91;&quot;QUERY_STRING&quot;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $nowurl;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//把全角数字转为半角数字<br/><br/><div class="code"><br/>&lt;?<br/>function GetAlabNum($fnum)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nums = array(&quot;０&quot;,&quot;１&quot;,&quot;２&quot;,&quot;３&quot;,&quot;４&quot;,&quot;５&quot;,&quot;６&quot;,&quot;７&quot;,&quot;８&quot;,&quot;９&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fnums = &quot;0123456789&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i&lt;=9;$i++) $fnum = str_replace($nums&#91;$i&#93;,$fnums&#91;$i&#93;,$fnum);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fnum = ereg_replace(&quot;&#91;^0-9.&#93;&#124;^0&#123;1,&#125;&quot;,&quot;&quot;,$fnum);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($fnum==&quot;&quot;) $fnum=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $fnum;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//去除HTML标记<br/><br/><div class="code"><br/>&lt;?<br/>function Text2Html($txt)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$txt = str_replace(&quot; &quot;,&quot;　&quot;,$txt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$txt = str_replace(&quot;&lt;&quot;,&quot;&amp;lt;&quot;,$txt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$txt = str_replace(&quot;&gt;&quot;,&quot;&amp;gt;&quot;,$txt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$txt = preg_replace(&quot;/&#91;rn&#93;&#123;1,&#125;/isU&quot;,&quot;<br/>rn&quot;,$txt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $txt;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//相对路径转化成绝对路径<br/><br/><br/><div class="code"><br/>&lt;?<br/>function relative_to_absolute($content, $feed_url) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;preg_match(&#039;/(http&#124;https&#124;ftp):///&#039;, $feed_url, $protocol); <br/>&nbsp;&nbsp;&nbsp;&nbsp;$server_url = preg_replace(&quot;/(http&#124;https&#124;ftp&#124;news):///&quot;, &quot;&quot;, $feed_url); <br/>&nbsp;&nbsp;&nbsp;&nbsp;$server_url = preg_replace(&quot;//.*/&quot;, &quot;&quot;, $server_url); <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($server_url == &#039;&#039;) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $content; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if (isset($protocol&#91;0&#93;)) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$new_content = preg_replace(&#039;/href=&quot;//&#039;, &#039;href=&quot;&#039;.$protocol&#91;0&#93;.$server_url.&#039;/&#039;, $content); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$new_content = preg_replace(&#039;/src=&quot;//&#039;, &#039;src=&quot;&#039;.$protocol&#91;0&#93;.$server_url.&#039;/&#039;, $new_content); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$new_content = $content; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;return $new_content; <br/>&#125; <br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/>//取得所有链接<br/><br/><br/><div class="code"><br/>&lt;?<br/>function get_all_url($code)&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;preg_match_all(&#039;/&lt;as+href=&#91;&quot;&#124;&#039;&#93;?(&#91;^&gt;&quot;&#039; &#93;+)&#91;&quot;&#124;&#039;&#93;?s*&#91;^&gt;&#93;*&gt;(&#91;^&gt;&#93;+)&lt;/a&gt;/i&#039;,$code,$arr); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return array(&#039;name&#039;=&gt;$arr&#91;2&#93;,&#039;url&#039;=&gt;$arr&#91;1&#93;); <br/>&#125;<br/><br/>?&gt;<br/></div><br/><br/><br/><br/><br/>//HTML表格的每行转为CSV格式数组<br/><div class="code"><br/>&lt;?<br/>function get_tr_array($table) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;td&#91;^&gt;&#93;*?&gt;&#039;si&quot;,&#039;&quot;&#039;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot;&lt;/td&gt;&quot;,&#039;&quot;,&#039;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot;&lt;/tr&gt;&quot;,&quot;&#123;tr&#125;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//去掉 HTML 标记 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;&#91;/!&#93;*?&#91;^&lt;&gt;&#93;*?&gt;&#039;si&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//去掉空白字符 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;(&#91;rn&#93;)&#91;s&#93;+&#039;&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot; &quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot; &quot;,&quot;&quot;,$table);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = explode(&quot;,&#123;tr&#125;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_pop($table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $table;<br/>&#125;<br/><br/>?&gt;<br/><br/></div><br/><br/><br/><br/><br/>//将HTML表格的每行每列转为数组，采集表格数据<br/><br/><div class="code"><br/>&lt;?<br/>function get_td_array($table) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;table&#91;^&gt;&#93;*?&gt;&#039;si&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;tr&#91;^&gt;&#93;*?&gt;&#039;si&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;td&#91;^&gt;&#93;*?&gt;&#039;si&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot;&lt;/tr&gt;&quot;,&quot;&#123;tr&#125;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot;&lt;/td&gt;&quot;,&quot;&#123;td&#125;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//去掉 HTML 标记 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;&lt;&#91;/!&#93;*?&#91;^&lt;&gt;&#93;*?&gt;&#039;si&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//去掉空白字符 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = preg_replace(&quot;&#039;(&#91;rn&#93;)&#91;s&#93;+&#039;&quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot; &quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = str_replace(&quot; &quot;,&quot;&quot;,$table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table = explode(&#039;&#123;tr&#125;&#039;, $table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_pop($table);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach ($table as $key=&gt;$tr) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$td = explode(&#039;&#123;td&#125;&#039;, $tr);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_pop($td);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$td_array&#91;&#93; = $td;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $td_array;<br/>&#125;<br/><br/>?&gt;<br/><br/><br/></div><br/><br/><br/>//返回字符串中的所有单词 $distinct=true 去除重复<br/><br/><div class="code"><br/>&lt;?<br/>function split_en_str($str,$distinct=true) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;preg_match_all(&#039;/(&#91;a-zA-Z&#93;+)/&#039;,$str,$match);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($distinct == true) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$match&#91;1&#93; = array_unique($match&#91;1&#93;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort($match&#91;1&#93;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $match&#91;1&#93;;<br/>&#125;<br/>?&gt;<br/><br/></div><br/><br/><br/>//打印出为本PHP项目做出贡献的人员的清单<br/><br/><div class="code"><br/>&lt;?<br/>string phpcredits(void)<br/><br/>?&gt;<br/></div><br/>Tags - <a href="http://www.dzhope.com/tags/php%25E5%2587%25BD%25E6%2595%25B0/" rel="tag">php函数</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] 经典收藏PHP常用函数]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>