<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Code Engineer</title>
	<atom:link href="http://www.51752.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.51752.com</link>
	<description>程序员？软件工程师？构架师？NO！代码工程师……</description>
	<lastBuildDate>Wed, 22 Feb 2012 12:38:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apache2.4发布</title>
		<link>http://www.51752.com/archives/135.html</link>
		<comments>http://www.51752.com/archives/135.html#comments</comments>
		<pubDate>Wed, 22 Feb 2012 12:23:57 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[IT业界]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=135</guid>
		<description><![CDATA[Apache软件基金会(ASF)宣布发布Apache的2.4版本，这是自2005年12月1号来，Apache的首次重大更新。做为最流行的WEB服务器，本次发布的2.4版本中，从另一款以计算能力著称的Web服务器NGINX中汲取了不少东西，增加了很多对高性能的支持，也由此引发了Apache使用者和潜在用户们的一些疑问。 例如，现有的Apache用户是否真的需要新版中加入的云计算支持?这些新功能是否足以挽留那些正准备倒戈到NGINX的用户呢?还是说，可以从NGINX的市场份额中夺回原属于自己的那部分? 在由4亿网站所组成的互联网中，Apache以65%的占有率毫无悬念的成为了互联网上最受欢迎的Web服务器，这项排名一直从1996年保持至今。但就在最新几个月中，开源Web服务器NGINX已经超越了微软的IIS，成为了第二受欢迎的Web服务器。最近，NGINX又宣布要为企业提供商业支持服务，看来，NGINX已经是做足了准备去抢占Apache的市场了。 针对主机服务商和开发人员，新版本的Apache提供了很多性能方面的提升，包括：支持更大流量，更好的支持云计算，利用更少的内存处理更多的并发等等。 除此之外，新版本的提升还包括：性能提升，内存利用，异步I/O的支持，动态反向代理设置，与时间驱动的Web服务器相当或更好的性能，更强大的处理资源分配能力，更友好的缓存支持，可定制的高速服务器和代理等。 其它的功能包括：更容易的错误分析，更灵活的设置项，更强大的验证机制，更完整的文档。关于更详细的新功能介绍，可以参考Apache的官方网站。 “我们很荣幸的宣布Apache HTTP服务器 2.4版本正式发布”。Apache项目的副主席Eric Covener宣布道。“这个版本包含了很多方面的提升，不仅添加了新的模块，同时也扩展了原有模块的性能和灵活性。相信无论是用户，网站管理者，还是开发人员都会非常欢迎的。” Apach HTTP服务器的源码以Apache License v2.0协议发布，同时，由一支自我管理的团队负责开发和维护。]]></description>
			<content:encoded><![CDATA[<p>Apache软件基金会(ASF)宣布发布Apache的2.4版本，这是自2005年12月1号来，Apache的首次重大更新。做为最流行的WEB服务器，本次发布的2.4版本中，从另一款以计算能力著称的Web服务器NGINX中汲取了不少东西，增加了很多对高性能的支持，也由此引发了Apache使用者和潜在用户们的一些疑问。</p>
<p>例如，现有的Apache用户是否真的需要新版中加入的云计算支持?这些新功能是否足以挽留那些正准备倒戈到NGINX的用户呢?还是说，可以从NGINX的市场份额中夺回原属于自己的那部分?</p>
<p>在由4亿网站所组成的互联网中，Apache以65%的占有率毫无悬念的成为了互联网上最受欢迎的Web服务器，这项排名一直从1996年保持至今。但就在最新几个月中，开源Web服务器NGINX已经超越了微软的IIS，成为了第二受欢迎的Web服务器。最近，NGINX又宣布要为企业提供商业支持服务，看来，NGINX已经是做足了准备去抢占Apache的市场了。</p>
<p>针对主机服务商和开发人员，新版本的Apache提供了很多性能方面的提升，包括：支持更大流量，更好的支持云计算，利用更少的内存处理更多的并发等等。</p>
<p>除此之外，新版本的提升还包括：性能提升，内存利用，异步I/O的支持，动态反向代理设置，与时间驱动的Web服务器相当或更好的性能，更强大的处理资源分配能力，更友好的缓存支持，可定制的高速服务器和代理等。</p>
<p>其它的功能包括：更容易的错误分析，更灵活的设置项，更强大的验证机制，更完整的文档。关于更详细的新功能介绍，可以参考Apache的官方网站。</p>
<p>“我们很荣幸的宣布Apache HTTP服务器 2.4版本正式发布”。Apache项目的副主席Eric Covener宣布道。“这个版本包含了很多方面的提升，不仅添加了新的模块，同时也扩展了原有模块的性能和灵活性。相信无论是用户，网站管理者，还是开发人员都会非常欢迎的。”</p>
<p>Apach HTTP服务器的源码以Apache License v2.0协议发布，同时，由一支自我管理的团队负责开发和维护。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/135.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP header()函数</title>
		<link>http://www.51752.com/archives/133.html</link>
		<comments>http://www.51752.com/archives/133.html#comments</comments>
		<pubDate>Wed, 22 Feb 2012 08:28:01 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=133</guid>
		<description><![CDATA[header() 函数向客户端发送原始的 HTTP 报头。 header函数是经常使用到的函数，如302跳转 header('Location: http://www.example.com/'); 也可以输出一些HTTP头，如 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache");]]></description>
			<content:encoded><![CDATA[<p>header() 函数向客户端发送原始的 HTTP 报头。</p>
<p>header函数是经常使用到的函数，如302跳转</p>
<p><code>header('Location: http://www.example.com/');</code></p>
<p>也可以输出一些HTTP头，如</p>
<p><code>header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");<br />
header("Cache-Control: no-cache");<br />
header("Pragma: no-cache");</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/133.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP读取图片文件效率</title>
		<link>http://www.51752.com/archives/131.html</link>
		<comments>http://www.51752.com/archives/131.html#comments</comments>
		<pubDate>Sun, 12 Feb 2012 10:07:13 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[readfile]]></category>
		<category><![CDATA[图片]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=131</guid>
		<description><![CDATA[有时候会用readfile 直接读取并在浏览器上输出，但效率怎么样呢？ 我测试的是600个图片同时用readfile来读取，在同一页面上显示， 结果php-cgi.exe进程大量增加，图片打开很慢，同服务器其他PHP程序打不开， 因为一张图片的读取和传输的时间远远大于一个普通页面，这样PHP进程很长时间不能释放， 造成大量php-cgi.exe生成，我最高生成200多个这样的进程。 结论： 如果需要一次性或者网站访问量过大，尽量不要用PHP来读取图片，一般服务器承受不起 如果必须要用PHP输出图片，请加个304状态的判断，这样可以减轻同一客户端对同一图片访问的压力。 &#160;]]></description>
			<content:encoded><![CDATA[<p>有时候会用readfile 直接读取并在浏览器上输出，但效率怎么样呢？</p>
<p>我测试的是600个图片同时用readfile来读取，在同一页面上显示，</p>
<p>结果php-cgi.exe进程大量增加，图片打开很慢，同服务器其他PHP程序打不开，</p>
<p>因为一张图片的读取和传输的时间远远大于一个普通页面，这样PHP进程很长时间不能释放，</p>
<p>造成大量php-cgi.exe生成，我最高生成200多个这样的进程。</p>
<p>结论：</p>
<p>如果需要一次性或者网站访问量过大，尽量不要用PHP来读取图片，一般服务器承受不起</p>
<p>如果必须要用PHP输出图片，请加个304状态的判断，这样可以减轻同一客户端对同一图片访问的压力。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/131.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mataserver rc发布</title>
		<link>http://www.51752.com/archives/128.html</link>
		<comments>http://www.51752.com/archives/128.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 14:54:47 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[服务器]]></category>
		<category><![CDATA[mataserver]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=128</guid>
		<description><![CDATA[mataserver是一个 apache+php+mysql for windows集成环境 ，主要是用于学习之用。 注意：有些杀毒软件会误报，程序本身没有病毒。 点击下载]]></description>
			<content:encoded><![CDATA[<p>mataserver是一个 apache+php+mysql for windows集成环境 ，主要是用于学习之用。</p>
<p><span style="color: #ff0000;">注意：有些杀毒软件会误报，程序本身没有病毒。</span></p>
<h3><a href="http://www.13e.cn/mataserver.rar" target="_blank">点击下载</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/128.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5.3.x for Windows 安装Zend Guard Loader</title>
		<link>http://www.51752.com/archives/126.html</link>
		<comments>http://www.51752.com/archives/126.html#comments</comments>
		<pubDate>Mon, 23 Jan 2012 08:27:32 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=126</guid>
		<description><![CDATA[PHP从5.3开始用Zend Guard Loader来代替Zend Optimizer，加速的效果应该不是很明显了，毕竟PHP5本身就很快了。主要是运行用Zend Guard加密的PHP程序。 下载 Zend Guard Loader http://downloads.zend.com/guard/5.1.0EA/ZendGuardLoader-php-5.3-Windows.zip 解压包里的ZendLoader.dll文件到任何目录下（建议放到PHP的ext目录下） 修改php.ini文件，添加 [Zend.loader] zend_loader.enable=1 zend_loader.disable_licensing=1 zend_loader.obfuscation_level_support=3 zend_loader.license_path= zend_extension=”c:/php5/ext/ZendLoader.dll” 其中 c:/php5/ext/ 换成你的目录 保存，重启 web 服务器 如果安装成功，可以在PHPINFO里看到 Zend Guard Loader信息 注意：改包里的ZendLoader.dll 只能用于 非安全线程（non thread safe）的PHP。]]></description>
			<content:encoded><![CDATA[<p>PHP从5.3开始用Zend Guard Loader来代替Zend Optimizer，加速的效果应该不是很明显了，毕竟PHP5本身就很快了。主要是运行用Zend Guard加密的PHP程序。</p>
<p>下载 Zend Guard Loader http://downloads.zend.com/guard/5.1.0EA/ZendGuardLoader-php-5.3-Windows.zip</p>
<p>解压包里的ZendLoader.dll文件到任何目录下（建议放到PHP的ext目录下）</p>
<p>修改php.ini文件，添加</p>
<p>[Zend.loader]<br />
zend_loader.enable=1<br />
zend_loader.disable_licensing=1<br />
zend_loader.obfuscation_level_support=3<br />
zend_loader.license_path=<br />
zend_extension=”c:/php5/ext/ZendLoader.dll”</p>
<p>其中 c:/php5/ext/ 换成你的目录</p>
<p>保存，重启 web 服务器</p>
<p>如果安装成功，可以在PHPINFO里看到 Zend Guard Loader信息</p>
<p>注意：改包里的ZendLoader.dll 只能用于 非安全线程（non thread safe）的PHP。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/126.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>服务器安装360硬件大师死机问题</title>
		<link>http://www.51752.com/archives/125.html</link>
		<comments>http://www.51752.com/archives/125.html#comments</comments>
		<pubDate>Sun, 22 Jan 2012 15:51:41 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[服务器]]></category>
		<category><![CDATA[360]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=125</guid>
		<description><![CDATA[我有一台联想的品牌服务器，前两天老死机，重启不到半个小时就死。实在没有办法就让机房重装一下系统，重装外系统后没有再装360硬件大师，坚持了几天，有一天我为了看CPU温度，有装了360硬件大师，没想到没过半小时有死机了，这时候我感觉可能是360硬件大师和我的某些软件或者硬件冲突造成的，最无奈的是把360硬件大师卸载了也没有用，必须重装系统才好。没办法，只能让机房再重装一次系统了。重装后再没有安装360硬件大师，也再没有死机过。 我的机子上装的win2003+APACHE+PHP+MYSQL环境，一些工具比如editplus，navicat，360安全卫士（打补丁用的，一般不开），没有装任何杀毒软件。至今，我还不知道什么软件或者硬件和360硬件大师冲突，或者是360硬件大师串改了windows什么东西（因为卸载了360硬件大师无用，所以判断是它串改系统里的东西了）。 如果你也碰到这种问题，希望对你有帮助。如果你知道为什么会这样，请麻烦告诉我。]]></description>
			<content:encoded><![CDATA[<p>我有一台联想的品牌服务器，前两天老死机，重启不到半个小时就死。实在没有办法就让机房重装一下系统，重装外系统后没有再装360硬件大师，坚持了几天，有一天我为了看CPU温度，有装了360硬件大师，没想到没过半小时有死机了，这时候我感觉可能是360硬件大师和我的某些软件或者硬件冲突造成的，最无奈的是把360硬件大师卸载了也没有用，必须重装系统才好。没办法，只能让机房再重装一次系统了。重装后再没有安装360硬件大师，也再没有死机过。</p>
<p>我的机子上装的win2003+APACHE+PHP+MYSQL环境，一些工具比如editplus，navicat，360安全卫士（打补丁用的，一般不开），没有装任何杀毒软件。至今，我还不知道什么软件或者硬件和360硬件大师冲突，或者是360硬件大师串改了windows什么东西（因为卸载了360硬件大师无用，所以判断是它串改系统里的东西了）。</p>
<p>如果你也碰到这种问题，希望对你有帮助。如果你知道为什么会这样，请麻烦告诉我。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/125.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【转】PHP判断是否低俗图片</title>
		<link>http://www.51752.com/archives/122.html</link>
		<comments>http://www.51752.com/archives/122.html#comments</comments>
		<pubDate>Mon, 02 Jan 2012 14:32:14 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[低俗]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=122</guid>
		<description><![CDATA[&#60;?php if(validatorImage(“1.jpg”)) echo &#8216;是低俗图片&#60;br /&#62;&#8217;; else echo &#8216;不是低俗图片&#60;br /&#62;&#8217;; function validatorImage($fileName){ $image = getImage($fileName); $width = ImagesX($image); $height = ImagesY($image); $ycb = 0; for($y=0;$y&#60;$height;$y++){ for($x=0;$x&#60;$width;$x++){ $rgb = ImageColorAt($image,$x,$y); $r = ($rgb &#62;&#62; 16) &#38; 0xFF; $g = ($rgb &#62;&#62; 8) &#38; 0xFF; $b = $rgb &#38; 0xFF; $ycbcr = rgb2ycbcr($r,$g,$b); if((86&#60;=$ycbcr['cb']&#38;&#38;$ycbcr['cb']&#60;=117)&#38;&#38;(140&#60;=$ycbcr['cr']&#38;&#38;$ycbcr['cr']&#60; 168)){ $ycb++; } } [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;?php</p>
<p>if(validatorImage(“1.jpg”))<br />
echo &#8216;是低俗图片&lt;br /&gt;&#8217;;<br />
else<br />
echo &#8216;不是低俗图片&lt;br /&gt;&#8217;;</p>
<p>function validatorImage($fileName){<br />
$image = getImage($fileName);<br />
$width = ImagesX($image);<br />
$height = ImagesY($image);<br />
$ycb = 0;<br />
for($y=0;$y&lt;$height;$y++){<br />
for($x=0;$x&lt;$width;$x++){<br />
$rgb = ImageColorAt($image,$x,$y);<br />
$r = ($rgb &gt;&gt; 16) &amp; 0xFF;<br />
$g = ($rgb &gt;&gt; 8) &amp; 0xFF;<br />
$b = $rgb &amp; 0xFF;<br />
$ycbcr = rgb2ycbcr($r,$g,$b);<br />
if((86&lt;=$ycbcr['cb']&amp;&amp;$ycbcr['cb']&lt;=117)&amp;&amp;(140&lt;=$ycbcr['cr']&amp;&amp;$ycbcr['cr']&lt; 168)){<br />
$ycb++;<br />
}<br />
}<br />
}<br />
imagedestroy($image);</p>
<p>if($ycb&gt;(floatval($width)*floatval($height)*0.3))<br />
return true;<br />
else<br />
return false;<br />
}</p>
<p>function getImage($fileName){<br />
$info = getImageSize($fileName);<br />
$ext = null;<br />
switch ($info[2]) {<br />
case 1 :<br />
$ext = “gif”;<br />
break;<br />
case 2 :<br />
$ext = “jpeg”;<br />
break;<br />
case 3 :<br />
$ext = “png”;<br />
break;<br />
}<br />
$function = &#8216;ImageCreateFrom&#8217;.ucfirst($ext);<br />
$resource = $function($fileName);<br />
return $resource;<br />
}</p>
<p>// RGB 转 YCbCr色彩<br />
function rgb2ycbcr($r,$g,$b){<br />
$r = floatval($r);<br />
$g = floatval($g);<br />
$b = floatval($b);</p>
<p>$y = 0.299*$r + 0.587*$g + 0.114*$b;<br />
$cb = (1 / 1.772) * ($b &#8211; $y) + 128;<br />
$cr = (1 / 1.402) * ($r &#8211; $y) + 128;</p>
<p>return array(&#8216;y&#8217;=&gt;$y,&#8217;cb&#8217;=&gt;$cb,&#8217;cr&#8217;=&gt;$cr);<br />
}<br />
?&gt;</p>
<p>上面是通过 RGB色彩模型  转成 YCbCr色彩模型 在 YCbCr色彩模型 判断低俗色的占比，如果商用还要加上肌肤色的过滤及对低俗部位的判断，依据比例对图片进行分类。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/122.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP分页导航类</title>
		<link>http://www.51752.com/archives/116.html</link>
		<comments>http://www.51752.com/archives/116.html#comments</comments>
		<pubDate>Thu, 10 Nov 2011 05:52:25 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[分页]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=116</guid>
		<description><![CDATA[PHP分页导航类 function show($config=array()){ // 初始化 if(!isset($config['total'])) exit('total is null'); if(!isset($config['pagesize'])) $config['pagesize']=10; if(!isset($config['page'])) $config['page']=1; if(!isset($config['base'])) $config['base']='?'; if(!isset($config['first_text'])) $config['first_text']='首页'; if(!isset($config['first_open'])) $config['first_open']=''; if(!isset($config['first_close'])) $config['first_close']=''; if(!isset($config['last_text'])) $config['last_text']='尾页'; if(!isset($config['last_open'])) $config['last_open']=''; if(!isset($config['last_close'])) $config['last_close']=''; if(!isset($config['next_text'])) $config['next_text']='下一页'; if(!isset($config['next_open'])) $config['next_open']=''; if(!isset($config['next_close'])) $config['next_close']=''; if(!isset($config['prev_text'])) $config['prev_text']='上一页'; if(!isset($config['prev_open'])) $config['prev_open']=''; if(!isset($config['prev_close'])) $config['prev_close']=''; if(!isset($config['num_open'])) $config['num_open']=''; if(!isset($config['num_close'])) $config['num_close']=''; if(!isset($config['c_open'])) $config['c_open']=''; if(!isset($config['c_close'])) $config['c_close']=''; if(!isset($config['dispay_num'])) $config['dispay_num']=TRUE; // 计算 $config['page']=ceil($config['page']); $pages = ceil [...]]]></description>
			<content:encoded><![CDATA[<p>PHP分页导航类</p>
<pre>	function show($config=array()){

		// 初始化

		if(!isset($config['total'])) exit('total is null');
		if(!isset($config['pagesize'])) $config['pagesize']=10;
		if(!isset($config['page'])) $config['page']=1;
		if(!isset($config['base'])) $config['base']='?';

		if(!isset($config['first_text'])) $config['first_text']='首页';
		if(!isset($config['first_open'])) $config['first_open']='';
		if(!isset($config['first_close'])) $config['first_close']='';

		if(!isset($config['last_text'])) $config['last_text']='尾页';
		if(!isset($config['last_open'])) $config['last_open']='';
		if(!isset($config['last_close'])) $config['last_close']='';

		if(!isset($config['next_text'])) $config['next_text']='下一页';
		if(!isset($config['next_open'])) $config['next_open']='';
		if(!isset($config['next_close'])) $config['next_close']='';

		if(!isset($config['prev_text'])) $config['prev_text']='上一页';
		if(!isset($config['prev_open'])) $config['prev_open']='';
		if(!isset($config['prev_close'])) $config['prev_close']='';

		if(!isset($config['num_open'])) $config['num_open']='';
		if(!isset($config['num_close'])) $config['num_close']='';

		if(!isset($config['c_open'])) $config['c_open']='';
		if(!isset($config['c_close'])) $config['c_close']='';

		if(!isset($config['dispay_num'])) $config['dispay_num']=TRUE;

		// 计算
		$config['page']=ceil($config['page']);
		$pages = ceil ( $config['total'] / $config['pagesize'] );
		$offset= ($config['page']-1)*$config['pagesize'];

		// 判断

		if($config['page']&gt;$pages) exit('page&gt;pages');
		if($config['page']&lt;1) exit('page&lt;pages');

		// 生成
		$tmp='';

		// 首页 上一页
		if ($config['page']-1 &lt; 1) {
			$tmp .= $config['first_open'].$config['first_text'].$config['first_close'].' ';
			$tmp .= $config['prev_open'].$config['prev_text'].$config['prev_close'].' ';
		} else {
			$tmp .= $config['first_open'].'&lt;a href="'.$config['base'].'&amp;page=1"&gt;'.$config['first_text'].'&lt;/a&gt;'.$config['first_close'].' ';
			$tmp .= $config['prev_open'].'&lt;a href="'.$config['base'].'&amp;page='.($config['page']-1).'"&gt;'.$config['prev_text'].'&lt;/a&gt;'.$config['prev_close'].' ';
		}

		// 中间数字

		$st=$config['page']-4;
		$et=$config['page']+4;

		if($st&lt;1)$st=1;
		if($et&gt;$pages)$et=$pages;

		for($i=$st;$i&lt;=$et;$i++){
			if($i==$config['page']){
				$tmp.=	$config['num_open'].$i.$config['num_close'].' ';
			}
			else
			{
				$tmp.=	$config['c_open'].'&lt;a href="'.$config['base'].'&amp;page='.$i.'"&gt;'.$i.'&lt;/a&gt;'.$config['c_close'].' ';
			}
		}

		// 尾页 下一页
		if ($config['page'] &gt;= $pages) {
			$tmp .= $config['next_open'].$config['next_text'].$config['next_close'].' ';
			$tmp .= $config['last_open'].$config['last_text'].$config['last_close'].' ';
		} else {
			$tmp .= $config['next_open'].'&lt;a href="'.$config['base'].'&amp;page='.($config['page']+1).'"&gt;'.$config['next_text'].'&lt;/a&gt;'.$config['next_close'].' ';
			$tmp .= $config['last_open'].'&lt;a href="'.$config['base'].'&amp;page='.$pages.'"&gt;'.$config['last_text'].'&lt;/a&gt;'.$config['last_close'].' ';
		}

		return $tmp;
	}</pre>
<p>不说怎么用了一看就明白</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/116.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP截取HTML中的内容</title>
		<link>http://www.51752.com/archives/113.html</link>
		<comments>http://www.51752.com/archives/113.html#comments</comments>
		<pubDate>Fri, 04 Nov 2011 16:09:33 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[字符串]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=113</guid>
		<description><![CDATA[这段代码经常会在小偷程序里出现，个人感觉很有用。 function getcontent($content,$start,$end){ $r = explode($start, $content); if (isset($r[1])){ $r = explode($end, $r[1]); return $r[0]; } return ''; } &#160;]]></description>
			<content:encoded><![CDATA[<p>这段代码经常会在小偷程序里出现，个人感觉很有用。</p>
<pre>function getcontent($content,$start,$end){
 $r = explode($start, $content);
 if (isset($r[1])){
 $r = explode($end, $r[1]);
 return $r[0];
 }
 return '';
}</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/113.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP将网址字符串转换成超级链接</title>
		<link>http://www.51752.com/archives/111.html</link>
		<comments>http://www.51752.com/archives/111.html#comments</comments>
		<pubDate>Thu, 03 Nov 2011 16:03:03 +0000</pubDate>
		<dc:creator>游游</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[字符串]]></category>
		<category><![CDATA[链接]]></category>

		<guid isPermaLink="false">http://www.51752.com/?p=111</guid>
		<description><![CDATA[在做matawork的时候用到的，在matawork里我是写到类里的，感觉这个函数比较有用。 function links($text) { $text = eregi_replace('(((f&#124;ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&#38;//=]+)', '&#60;a href="\1"&#62;\1&#60;/a&#62;', $text); $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&#38;//=]+)', '\1&#60;a href="http://\2"&#62;\2&#60;/a&#62;', $text); $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})', '&#60;a href="mailto:\1"&#62;\1&#60;/a&#62;', $text); return $text; } 不过这个函数在PHP5.3下会报Notice，是eregi_replace的原因，可以不理会。 &#160;]]></description>
			<content:encoded><![CDATA[<p>在做matawork的时候用到的，在matawork里我是写到类里的，感觉这个函数比较有用。</p>
<pre>function links($text) {
	$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&amp;//=]+)',
	'&lt;a href="\1"&gt;\1&lt;/a&gt;', $text);
	$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&amp;//=]+)',
	'\1&lt;a href="http://\2"&gt;\2&lt;/a&gt;', $text);
	$text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
	'&lt;a href="mailto:\1"&gt;\1&lt;/a&gt;', $text);
	return $text;
}</pre>
<p>不过这个函数在PHP5.3下会报Notice，是<span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">eregi_replace的原因，可以不理会。</span></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.51752.com/archives/111.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

