<?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>Simple happiness &#187; 代码</title>
	<atom:link href="http://xfuxing.com/tag/%e4%bb%a3%e7%a0%81/feed" rel="self" type="application/rss+xml" />
	<link>http://xfuxing.com</link>
	<description>越简单越幸福</description>
	<lastBuildDate>Sun, 01 Jan 2012 16:55:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>关于php程序国际化(i18n)的那些事</title>
		<link>http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html</link>
		<comments>http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html#comments</comments>
		<pubDate>Sat, 28 Aug 2010 14:11:46 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[国际化]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%85%b3%e4%ba%8ephp%e7%a8%8b%e5%ba%8f%e5%9b%bd%e9%99%85%e5%8c%96i18n%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b.html</guid>
		<description><![CDATA[这事说起来也是老生常谈了，其实这事本来没什么意思，可是这回想用的时候才发现真不是这么回事，最主要的是我个人很习惯了WP的那种“_e”和“__”的本地化方式，可真的去试用gettext的时候，才发现那家伙真不是一般的麻烦，要为每一种语言都配置好目录和设置什么的，总之那是相当的麻烦……
可又确实想用，怎么办？唉，没办法，翻WP的原程吧，可是现在升来升去越来越繁复，于是想起初接触WP时的2.3.1版，网站上拿下，主要查“l10n”这个文件，在wp-includes文件夹里，于是从一个文件找到另一个文件，这样找齐了四个文件： l10n.php / streams.php / gettext.php / plugin.php ……，可我总不能做一个程序就带着这四个累赘吧，唉，还是自己合并吧。于是得到了一个文件，我延续了WP的文件命名，将合并后的文件命名为：l10n.php 。

该文件内包函了需要使用的各函数，在输出时保持WP的原始风格，“_e”为直接输出显示，“__”为返回输出。在本地化文件命名上，我倾向于插件式命名，即：“程序名-zh_CN”，这个PO和MO可以用POEDIT去搞了，能看这篇文章的，我想不会不知道怎么弄吧，呵呵。
将以上文件都保存在程序目录下的“languages”目录下（个人习惯），然后在调用里进行如下代码设置：
define&#160;('WPLANG','zh_CN');
require_once(&#160;'l10n.php' );
load_plugin_textdomain('your programe name', 'languages');

以上完全按照WP的系统来写的，如果你有其它想法，请自己更改啦，好了，进行好如上这些，在代码里就可以将需要国际化的词句以“_e”或“__”方式来输出了。如果对于“define (&#8216;WPLANG&#8217;,'zh_CN&#8217;)”中的“WPLANG”这个常量进行了其它命名，请修改“l10n.php”文件中的相应处（在编辑器里搜一下就可以，或查找文件中“get_locale()”函数，就在这里）。
对于懒得自己更改的朋友，请直接点击下面的链接进行下载：
http://xfuxing.com/wdp/wp-content/uploads/2010/08/l10n.rar
对于国际化有兴趣的朋友还可以访问下面的链接，这篇文章里利用了 l10n.php / streams.php / gettext.php 三个文件再加上一些代码，可以将MO读取出来成为PO，也很有意思。文章链接如下：
http://comox.textdrive.com/pipermail/wp-polyglots/2006-July/000989.html
明天周日，公休（我每周只休一天的），网上也休息，下周一见。
Simple happiness
您可能感兴趣的文章2010年08月27日 -- php下获取远程文件信息的重要函数get_headers (0)2010年08月26日 -- 自定义数组格式化输出函数（dump），调试程序时很有用 (0)2010年08月24日 -- 关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷 (2)2009年11月3日 -- 修改 mail to commenter,让邮件通知更加友好 (31)2009年09月22日 -- 统计插件的测试记录 (7)]]></description>
			<content:encoded><![CDATA[<p>这事说起来也是老生常谈了，其实这事本来没什么意思，可是这回想用的时候才发现真不是这么回事，最主要的是我个人很习惯了WP的那种“_e”和“__”的本地化方式，可真的去试用gettext的时候，才发现那家伙真不是一般的麻烦，要为每一种语言都配置好目录和设置什么的，总之那是相当的麻烦……</p>
<p>可又确实想用，怎么办？唉，没办法，翻WP的原程吧，可是现在升来升去越来越繁复，于是想起初接触WP时的2.3.1版，网站上拿下，主要查“l10n”这个文件，在wp-includes文件夹里，于是从一个文件找到另一个文件，这样找齐了四个文件： l10n.php / streams.php / gettext.php / plugin.php ……，可我总不能做一个程序就带着这四个累赘吧，唉，还是自己合并吧。于是得到了一个文件，我延续了WP的文件命名，将合并后的文件命名为：l10n.php 。</p>
<p><span id="more-148"></span></p>
<p>该文件内包函了需要使用的各函数，在输出时保持WP的原始风格，“_e”为直接输出显示，“__”为返回输出。在本地化文件命名上，我倾向于插件式命名，即：“程序名-zh_CN”，这个PO和MO可以用POEDIT去搞了，能看这篇文章的，我想不会不知道怎么弄吧，呵呵。</p>
<p>将以上文件都保存在程序目录下的“languages”目录下（个人习惯），然后在调用里进行如下代码设置：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">define</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">WPLANG</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">zh_CN</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">require_once</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">l10n.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">load_plugin_textdomain</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">your programe name</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">languages</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>以上完全按照WP的系统来写的，如果你有其它想法，请自己更改啦，好了，进行好如上这些，在代码里就可以将需要国际化的词句以“_e”或“__”方式来输出了。如果对于“define (&#8216;WPLANG&#8217;,'zh_CN&#8217;)”中的“WPLANG”这个常量进行了其它命名，请修改“l10n.php”文件中的相应处（在编辑器里搜一下就可以，或查找文件中“get_locale()”函数，就在这里）。</p>
<p>对于懒得自己更改的朋友，请直接点击下面的链接进行下载：</p>
<p>http://xfuxing.com/wdp/wp-content/uploads/2010/08/l10n.rar</p>
<p>对于国际化有兴趣的朋友还可以访问下面的链接，这篇文章里利用了 l10n.php / streams.php / gettext.php 三个文件再加上一些代码，可以将MO读取出来成为PO，也很有意思。文章链接如下：</p>
<p>http://comox.textdrive.com/pipermail/wp-polyglots/2006-July/000989.html</p>
<p>明天周日，公休（我每周只休一天的），网上也休息，下周一见。</p>
<p><a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li><li>2010年08月26日 -- <a href="http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html" title="自定义数组格式化输出函数（dump），调试程序时很有用">自定义数组格式化输出函数（dump），调试程序时很有用</a> (0)</li><li>2010年08月24日 -- <a href="http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html" title="关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷">关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷</a> (2)</li><li>2009年11月3日 -- <a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html" title="修改 mail to commenter,让邮件通知更加友好">修改 mail to commenter,让邮件通知更加友好</a> (31)</li><li>2009年09月22日 -- <a href="http://xfuxing.com/2009/statistics-plug-in-test-records.html" title="统计插件的测试记录">统计插件的测试记录</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php下获取远程文件信息的重要函数get_headers</title>
		<link>http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html</link>
		<comments>http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html#comments</comments>
		<pubDate>Fri, 27 Aug 2010 14:48:34 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[get_headers]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[远程文件]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/php%e4%b8%8b%e8%8e%b7%e5%8f%96%e8%bf%9c%e7%a8%8b%e6%96%87%e4%bb%b6%e4%bf%a1%e6%81%af%e7%9a%84%e9%87%8d%e8%a6%81%e5%87%bd%e6%95%b0get_headers.html</guid>
		<description><![CDATA[get_headers函数很不错，在我们写一些php代码时，可能会需要获取远程文件的一些信息，比如文件大小、最后修改时间等等，而php内置的相关函数都不支持远程文件，于是我们就用上了get_headers函数。
首先，我们要用到前面的两个自定义函数remote_file_exists（检查远程文件是否存在）、dump（格式化输出数组内容），这两个函数的具体代码都在前面有说过，并且在dump那篇文章中，最后的一段例程代码就是获取远程文件信息头的内容并格式化输出的结果。结果如下：


Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Thu, 26 Aug 2010 05:58:47 GMT
    [Server] => Apache
    [Last-Modified] => Mon, 23 Aug 2010 03:01:54 GMT
    [ETag] => "20a9e05-e220-4c71e4a2"
    [Accept-Ranges] => bytes
    [Content-Length] => 57888
 [...]]]></description>
			<content:encoded><![CDATA[<p>get_headers函数很不错，在我们写一些php代码时，可能会需要获取远程文件的一些信息，比如文件大小、最后修改时间等等，而php内置的相关函数都不支持远程文件，于是我们就用上了get_headers函数。</p>
<p>首先，我们要用到前面的两个自定义函数remote_file_exists（检查远程文件是否存在）、dump（格式化输出数组内容），这两个函数的具体代码都在前面有说过，并且在dump那篇文章中，最后的一段例程代码就是获取远程文件信息头的内容并格式化输出的结果。结果如下：</p>
<p><span id="more-147"></span></p>
<pre>
Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Thu, 26 Aug 2010 05:58:47 GMT
    [Server] => Apache
    [Last-Modified] => Mon, 23 Aug 2010 03:01:54 GMT
    [ETag] => "20a9e05-e220-4c71e4a2"
    [Accept-Ranges] => bytes
    [Content-Length] => 57888
    [Connection] => close
    [Content-Type] => image/jpeg
)
</pre>
<p>在例程中我提供的远程文件是一个图片文件（我狗女儿的照片），我们得到了如上的一个数组，下面说一下这个数组中我们比较常用的几个内容。</p>
<p>“[0] => HTTP/1.1 200 OK”，文件状态，200是正常存在，404是不存在，其它的还有几种，与我无关，所以我没有去具体看。<br />
“[Last-Modified] => Mon, 23 Aug 2010 03:01:54 GMT”，文件最后一次修改更新的时间，这个内容应当是比较有用的，如果是要获取本地文件的最后修改更新时间，我们应当使用“filectime”函数。<br />
“[Content-Length] => 57888”，文件的大小，计量单位是“[Accept-Ranges] => bytes”，php中获得文件大小的函数“filesize”是不支持远程文件的，所以我们也需要这组数据。<br />
“[Content-Type] => image/jpeg”，文件类型，判断文件类型有很多种方法，这个方法我觉得也不错，只可惜每一种方法都需要“switch”来实现类型的一一对应才能表现在页面上。<br />
O了，有了上面一组数据，我们可以写出两个函数了，一个是获取远程文件大小的函数，一个是获取远程文件最后修改更新时间的函数。这两个函数代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">// CHECK REMOTE FILE SIZE (RETURN BYTES)</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">remote_filesize</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$headInf</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_headers</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Gray;">,</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$headInf</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">Content-Length</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">// CHECK REMOTE FILE LAST MODIFIED TIME (RETURN UNIX TIMESTAMP)</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">remote_filectime</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$headInf</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_headers</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Gray;">,</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">strtotime</span><span style="color: Olive;">(</span><span style="color: #00008b;">$headInf</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">Last-Modified</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p>上面的两个自定义函数中都使用了“remote_file_exists”这个判断远程文件是否存在的自定义函数（参见前文），函数中首先要判断一下我们要查的文件是否存在，如果不存在还查个P啊，当然返个false喽。然后通过“get_headers”来获取文件头信息并将这个信息数组赋给“$headInf”，两个函数到这里都是完全一样的，在这之后就简单了，你需要返回数组中的哪一段信息或需要将信息处理一下再返回就都随意了。我这里第一个是返回文件大小的，第二个是将文件最后修改更新时间转化为UNIX时间戳来返回的。</p>
<p>好了，看看自己有什么需要的，去写一个吧，将来这几个都会被我应用到，所以都写出来了。</p>
<p><a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年08月24日 -- <a href="http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html" title="关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷">关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷</a> (2)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月26日 -- <a href="http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html" title="自定义数组格式化输出函数（dump），调试程序时很有用">自定义数组格式化输出函数（dump），调试程序时很有用</a> (0)</li><li>2009年11月3日 -- <a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html" title="修改 mail to commenter,让邮件通知更加友好">修改 mail to commenter,让邮件通知更加友好</a> (31)</li><li>2009年09月22日 -- <a href="http://xfuxing.com/2009/statistics-plug-in-test-records.html" title="统计插件的测试记录">统计插件的测试记录</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自定义数组格式化输出函数（dump），调试程序时很有用</title>
		<link>http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html</link>
		<comments>http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:46:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[数组]]></category>
		<category><![CDATA[格式化输出]]></category>
		<category><![CDATA[调试]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e8%87%aa%e5%ae%9a%e4%b9%89%e6%95%b0%e7%bb%84%e6%a0%bc%e5%bc%8f%e5%8c%96%e8%be%93%e5%87%ba%e5%87%bd%e6%95%b0%ef%bc%88dump%ef%bc%89%ef%bc%8c%e8%b0%83%e8%af%95%e7%a8%8b%e5%ba%8f%e6%97%b6%e5%be%88.html</guid>
		<description><![CDATA[前面我们谈了一下关于判断远程文件是否存在的一个函数，希望大家能够记下来，因为在最近这几篇文章中这几个函数会联合一起使用，将来这些函数也会被我使用到改写的MG2程序里。
下面说说今天要说的这个自定义函数dump，该函数是我从网上搜集下来的，作用为将一个数组进行格式化输出，对于我来说要看php中一个数组的内容是很费力的，因为本人的php可以说是无基础可言，用到哪里就看哪里，呵呵，完全的现用现学。搜到这个函数后，发现通过格式化输出后，再去看某一个数组时确实省事多了，经过测试，暂无发现什么问题，下面给出该函数代码：
  
function&#160;dump($vars, $label = '', $return = false) {
&#160; &#160; if&#160;(ini_get('html_errors')) {
&#160; &#160; &#160; &#160; $content = &#34;&#60;pre&#62;\n&#34;;
&#160; &#160; &#160; &#160; if&#160;($label != '') {
&#160; &#160; &#160; &#160; &#160; &#160; $content .= &#34;&#60;strong&#62;{$label} :&#60;/strong&#62;\n&#34;;
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; $content .= htmlspecialchars(print_r($vars, true));
&#160; &#160; &#160; &#160; $content .= &#34;\n&#60;/pre&#62;\n&#34;;
&#160; &#160; }&#160;else {
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>前面我们谈了一下关于判断远程文件是否存在的一个函数，希望大家能够记下来，因为在最近这几篇文章中这几个函数会联合一起使用，将来这些函数也会被我使用到改写的MG2程序里。</p>
<p>下面说说今天要说的这个自定义函数dump，该函数是我从网上搜集下来的，作用为将一个数组进行格式化输出，对于我来说要看php中一个数组的内容是很费力的，因为本人的php可以说是无基础可言，用到哪里就看哪里，呵呵，完全的现用现学。搜到这个函数后，发现通过格式化输出后，再去看某一个数组时确实省事多了，经过测试，暂无发现什么问题，下面给出该函数代码：</p>
<p> <span id="more-146"></span> </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dump</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: #00008b;">$label</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">, </span><span style="color: #00008b;">$return</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">ini_get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">html_errors</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;pre&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$label</span><span style="color: Gray;"> != </span><span style="color: #8b0000;">''</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;strong&gt;</span><span style="color: #00008b;">{$label}</span><span style="color: Red;"> :&lt;/strong&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: Blue;">htmlspecialchars</span><span style="color: Olive;">(</span><span style="color: Blue;">print_r</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: Red;">&lt;/pre&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$label</span><span style="color: Gray;"> . </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> :</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> . </span><span style="color: Blue;">print_r</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$return</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #00008b;">$content</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$content</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">null</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p>以上代码为原文，未经修改，可以正常使用，下面给出一个例程，和输出结果，通过这个函数，我们在写一些php代码时，在调试阶段就可以很清楚的查到数组内容了，例程中应用到了本函数及前面讲的判断远程文件是否存在的函数remote_file_exists以及get_headers函数，例程及输出结果如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dump</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: #00008b;">$label</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">, </span><span style="color: #00008b;">$return</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">ini_get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">html_errors</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;pre&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$label</span><span style="color: Gray;"> != </span><span style="color: #8b0000;">''</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;strong&gt;</span><span style="color: #00008b;">{$label}</span><span style="color: Red;"> :&lt;/strong&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: Blue;">htmlspecialchars</span><span style="color: Olive;">(</span><span style="color: Blue;">print_r</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: Red;">&lt;/pre&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$label</span><span style="color: Gray;"> . </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> :</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> . </span><span style="color: Blue;">print_r</span><span style="color: Olive;">(</span><span style="color: #00008b;">$vars</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$return</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #00008b;">$content</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$content</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">null</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_file</span><span style="color: Gray;"> = </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_arr</span><span style="color: Gray;"> = </span><span style="color: Blue;">parse_url</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">)</span><span style="color: Gray;"> || </span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$host</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">host</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$path</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">path</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> .</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">?</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">query</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$port</span><span style="color: Gray;"> = </span><span style="color: Green;">isset</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;"> ?</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">80</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$fp</span><span style="color: Gray;"> = </span><span style="color: Blue;">fsockopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$host</span><span style="color: Gray;">, </span><span style="color: #00008b;">$port</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_no</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_str</span><span style="color: Gray;">,</span><span style="color: Maroon;">30</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$path</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> HTTP/1.1</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Host:</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$host</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Connection:Close</span><span style="color: Navy;">\r\n\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$request_str</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$first_header</span><span style="color: Gray;"> = </span><span style="color: Blue;">fread</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">, </span><span style="color: Maroon;">128</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/200/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)</span><span style="color: Gray;"> || </span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/Location:/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: #00008b;">$url</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://image.verylifes.com/webimages/78620c944c3a_9B13/201008230321.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$headInf</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_headers</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url</span><span style="color: Gray;">,</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">dump</span><span style="color: Olive;">(</span><span style="color: #00008b;">$headInf</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//输出结果</span></li>
<li><span style="color: #ffa500;">//Array</span></li>
<li><span style="color: #ffa500;">//(</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [0] =&gt; HTTP/1.1 200 OK</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Date] =&gt; Thu, 26 Aug 2010 02:51:07 GMT</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Server] =&gt; Apache</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Last-Modified] =&gt; Mon, 23 Aug 2010 03:01:54 GMT</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [ETag] =&gt; &quot;20a9e05-e220-4c71e4a2&quot;</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Accept-Ranges] =&gt; bytes</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Content-Length] =&gt; 57888</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Connection] =&gt; close</span></li>
<li><span style="color: #ffa500;">//&nbsp; &nbsp; [Content-Type] =&gt; image/jpeg</span></li>
<li><span style="color: #ffa500;">//)</span></li>
</ol></div>
<p><a href="http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li><li>2010年08月24日 -- <a href="http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html" title="关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷">关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷</a> (2)</li><li>2009年07月31日 -- <a href="http://xfuxing.com/2009/php-array-transfer-xml-relief.html" title="php数组转XML救助。">php数组转XML救助。</a> (0)</li><li>2009年11月3日 -- <a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html" title="修改 mail to commenter,让邮件通知更加友好">修改 mail to commenter,让邮件通知更加友好</a> (31)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于php判断远程文件是否存在的函数（remote_file_exists）的缺陷</title>
		<link>http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html</link>
		<comments>http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html#comments</comments>
		<pubDate>Tue, 24 Aug 2010 14:01:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[remote file exists]]></category>
		<category><![CDATA[remote_file_exists]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[存在]]></category>
		<category><![CDATA[缺陷]]></category>
		<category><![CDATA[远程文件]]></category>
		<category><![CDATA[错误]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%85%b3%e4%ba%8e%e5%88%a4%e6%96%ad%e8%bf%9c%e7%a8%8b%e6%96%87%e4%bb%b6%e6%98%af%e5%90%a6%e5%ad%98%e5%9c%a8%e7%9a%84%e5%87%bd%e6%95%b0%ef%bc%88remote_file_exists%ef%bc%89%e7%9a%84%e7%bc%ba%e9%99%b7.html</guid>
		<description><![CDATA[检查远程文件是否存在的方法有几种，其中比较被大家常用的是get_headers。一般都是通过获取文件头的方式来判断，而且如果在网上搜索一下“remote_file_exists”的话，会有很多例程，这里被大家常常转载的一段代码如下：
function&#160;remote_file_exists($url_file){
//检测输入
&#160; &#160; $url_file = trim($url_file);
&#160; &#160; if&#160;(empty($url_file)) { return false; }
&#160; &#160; $url_arr = parse_url($url_file);
&#160; &#160; if&#160;(!is_array($url_arr) &#124;&#124; empty($url_arr)){return false; }
//获取请求数据
&#160; &#160; $host = $url_arr['host'];
&#160; &#160; $path = $url_arr['path'] .&#34;?&#34;.$url_arr['query'];
&#160; &#160; $port = isset($url_arr['port']) ?$url_arr['port'] : &#34;80&#34;;
//连接服务器
&#160; &#160; $fp = fsockopen($host, $port, $err_no, $err_str,30);
&#160; &#160; if&#160;(!$fp){ return false; }
//构造请求协议
&#160; &#160; $request_str = &#34;GET &#34;.$path.&#34; HTTP/1.1\r\n&#34;;
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>检查远程文件是否存在的方法有几种，其中比较被大家常用的是get_headers。一般都是通过获取文件头的方式来判断，而且如果在网上搜索一下“remote_file_exists”的话，会有很多例程，这里被大家常常转载的一段代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">){</span></li>
<li><span style="color: #ffa500;">//检测输入</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_file</span><span style="color: Gray;"> = </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_arr</span><span style="color: Gray;"> = </span><span style="color: Blue;">parse_url</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">)</span><span style="color: Gray;"> || </span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">)){</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//获取请求数据</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$host</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">host</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$path</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">path</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> .</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">?</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">query</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$port</span><span style="color: Gray;"> = </span><span style="color: Green;">isset</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;"> ?</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">80</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//连接服务器</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$fp</span><span style="color: Gray;"> = </span><span style="color: Blue;">fsockopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$host</span><span style="color: Gray;">, </span><span style="color: #00008b;">$port</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_no</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_str</span><span style="color: Gray;">,</span><span style="color: Maroon;">30</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">){</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//构造请求协议</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$path</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> HTTP/1.1</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Host:</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$host</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Connection:Close</span><span style="color: Navy;">\r\n\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//发送请求</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$request_str</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$first_header</span><span style="color: Gray;"> = </span><span style="color: Blue;">fgets</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">, </span><span style="color: Maroon;">1024</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//判断文件是否存在</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">){</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/200/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)){</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p>这个方法里有一点需特别注意，在“$request_str = &quot;GET &quot;.$path.&quot; HTTP/1.1\r\n&quot;;”句中，“GET”后面的空格一定不能落下，而“HTTP”前面的空格也不能落下，至少我曾经因为这个问题而造成该函数读取不到文件信息头。但该段代码仍有一个缺陷，其中就是它使用了“fgets”读取头部第一行信息，只要该信息中存在“200”即认为要判断的文件存在，在文件名完全正确或错误的时候，该方法可行，不过如果你将文件的扩展名去掉（比如某个图片，将后面的扩展名去掉）一样可以得到该文件存在的消息。我在参考了PHP官网上老外的写法后修改整理为如下代码，在测试运行后发现可行，在此贴给大家，希望能够对大家有所帮助。代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">// CHECK REMOTE FILE EXISTS</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">remote_file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_file</span><span style="color: Gray;"> = </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$url_arr</span><span style="color: Gray;"> = </span><span style="color: Blue;">parse_url</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_file</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">)</span><span style="color: Gray;"> || </span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$host</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">host</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$path</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">path</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> .</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">?</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">query</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$port</span><span style="color: Gray;"> = </span><span style="color: Green;">isset</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;"> ?</span><span style="color: #00008b;">$url_arr</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">port</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">80</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$fp</span><span style="color: Gray;"> = </span><span style="color: Blue;">fsockopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$host</span><span style="color: Gray;">, </span><span style="color: #00008b;">$port</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_no</span><span style="color: Gray;">, </span><span style="color: #00008b;">$err_str</span><span style="color: Gray;">,</span><span style="color: Maroon;">30</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$path</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> HTTP/1.1</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Host:</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$host</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$request_str</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Connection:Close</span><span style="color: Navy;">\r\n\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$request_str</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//fread replace fgets</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$first_header</span><span style="color: Gray;"> = </span><span style="color: Blue;">fread</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">, </span><span style="color: Maroon;">128</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//check $url_file &quot;Content-Location&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/200/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">)</span><span style="color: Gray;"> || </span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/Location:/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$first_header</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p><a href="http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月26日 -- <a href="http://xfuxing.com/2010/custom-array-format-output-function-dump-useful-when-debugging-programs.html" title="自定义数组格式化输出函数（dump），调试程序时很有用">自定义数组格式化输出函数（dump），调试程序时很有用</a> (0)</li><li>2009年11月3日 -- <a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html" title="修改 mail to commenter,让邮件通知更加友好">修改 mail to commenter,让邮件通知更加友好</a> (31)</li><li>2009年09月22日 -- <a href="http://xfuxing.com/2009/statistics-plug-in-test-records.html" title="统计插件的测试记录">统计插件的测试记录</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/remote-file-exists-on-the-judgeu002639s-function-remote_file_exists-defects.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>修改 mail to commenter,让邮件通知更加友好</title>
		<link>http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html</link>
		<comments>http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html#comments</comments>
		<pubDate>Tue, 03 Nov 2009 04:41:08 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[Mail To Commenter]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[修改]]></category>
		<category><![CDATA[插件]]></category>
		<category><![CDATA[邮件通知]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2009/%e4%bf%ae%e6%94%b9-mail-to-commenter%e8%ae%a9%e9%82%ae%e4%bb%b6%e9%80%9a%e7%9f%a5%e6%9b%b4%e5%8a%a0%e5%8f%8b%e5%a5%bd.html</guid>
		<description><![CDATA[曾经我推荐了一个插件，是国人写的关于邮件通知回复评论的一个插件，叫mail to commenter，这个插件很好，从功能和兼容各方面都不错，我也一直在用，不过昨天有位朋友（<a href="http://zhaolianlin.com/">JasonChao</a>）跟我说，回复时，邮件地址显示为“WordPress 博客名称”，说这种方式从互动显示方面来讲不太友好，问我可不可以变换成“博客名称 <no-reply@域名>”的方式，我在没有经过原作者同意的情况下，试着去修改了一下，以达到这种友好的效果。]]></description>
			<content:encoded><![CDATA[<p>曾经我推荐了一个插件，是国人写的关于邮件通知回复评论的一个插件，叫mail to commenter，这个插件很好，从功能和兼容各方面都不错，我也一直在用，不过昨天有位朋友（<a href="http://zhaolianlin.com/">JasonChao</a>）跟我说，回复时，邮件地址显示为“WordPress 博客名称”，说这种方式从互动显示方面来讲不太友好，问我可不可以变换成“博客名称 &lt;no-reply@域名&gt;”的方式，我在没有经过原作者同意的情况下，试着去修改了一下，以达到这种友好的效果。<br />
好了，下面来跟着我去修改代码吧。<span id="more-120"></span><br />
打开mail to commenter这个插件的目录，然后打开mailtocommenter_functions.php这个文件，在第213行会看到以下代码：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">mailtocommenter_send_email</span><span style="color: Olive;">(</span><span style="color: #00008b;">$to</span><span style="color: Gray;">,</span><span style="color: #00008b;">$subject</span><span style="color: Gray;">,</span><span style="color: #00008b;">$message</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$blogname</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_option</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">blogname</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>修改成如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">mailtocommenter_send_email</span><span style="color: Olive;">(</span><span style="color: #00008b;">$to</span><span style="color: Gray;">,</span><span style="color: #00008b;">$subject</span><span style="color: Gray;">,</span><span style="color: #00008b;">$message</span><span style="color: Olive;">){</span></li>
<li><span style="color: #ffa500;">/* modify by freephp(</span><span style="color: Blue;">http://xfuxing.com</span><span style="color: #ffa500;">) 2009-11-3</span></li>
<li><span style="color: #ffa500;">//source code</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; $blogname = get_option('blogname');</span></li>
<li><span style="color: #ffa500;">*/</span></li>
<li><span style="color: #ffa500;">/* my modify code start (freephp)*/</span></li>
<li><span style="color: #00008b;">$hostname</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_option</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">home</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//get blog url</span></li>
<li><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/^(http:\/\/)?([^\/]+)/i</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$hostname</span><span style="color: Gray;">, </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//get hostname from blog url</span></li>
<li><span style="color: #00008b;">$blogname</span><span style="color: Gray;"> = </span><span style="color: Blue;">get_option</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">blogname</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$blogname</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> &lt;no-reply@</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//blogname+&lt;no-reply@</span></li>
<li><span style="color: #00008b;">$blogname</span><span style="color: Gray;"> .= </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">[</span><span style="color: Maroon;">2</span><span style="color: Olive;">]</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//blogname+&lt;no-reply@+hostname</span></li>
<li><span style="color: #00008b;">$blogname</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//blogname+&lt;no-reply@+hostname+&gt;=blogname&lt;</span><span style="color: Blue;">no-reply@hostname</span><span style="color: #ffa500;">&gt;</span></li>
<li><span style="color: #ffa500;">/* my modify code end (freephp)*/</span></li>
</ol></div>
<p>好了，去测试一下吧，应当没什么问题的。所有的注释只是为了方便，您可以去掉，要注意的一点就是在“$blogname .= &#8221; &lt;no-reply@&#8221;;”这行里，“&lt;”之前的空格一定不要去掉，否则会在编码上出现半个中文字（乱码）的样子，哈哈。哦，还有一点，一定要注意保存文件的格式：utf-8无BOM。</p>
<p><a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年09月30日 -- <a href="http://xfuxing.com/2009/plug-in-update.html" title="插件更新">插件更新</a> (11)</li><li>2009年09月24日 -- <a href="http://xfuxing.com/2009/plug-in-released-simple-stats-widget-for-wordpress.html" title="Plug-in released:simple-stats-widget for WordPress">Plug-in released:simple-stats-widget for WordPress</a> (32)</li><li>2009年09月22日 -- <a href="http://xfuxing.com/2009/statistics-plug-in-test-records.html" title="统计插件的测试记录">统计插件的测试记录</a> (7)</li><li>2009年09月16日 -- <a href="http://xfuxing.com/2009/recommended-three-plug-ins-clean-options-wp-optimize-mail-to-commenter.html" title="推荐三款插件：Clean Options、WP-Optimize、Mail To Commenter">推荐三款插件：Clean Options、WP-Optimize、Mail To Commenter</a> (20)</li><li>2009年09月11日 -- <a href="http://xfuxing.com/2009/plug-in-released-photobucket-widget-for-wordpress.html" title="Plug-in released:photobucket-widget for WordPress">Plug-in released:photobucket-widget for WordPress</a> (12)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>统计插件的测试记录</title>
		<link>http://xfuxing.com/2009/statistics-plug-in-test-records.html</link>
		<comments>http://xfuxing.com/2009/statistics-plug-in-test-records.html#comments</comments>
		<pubDate>Tue, 22 Sep 2009 06:10:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[插件]]></category>
		<category><![CDATA[测试]]></category>
		<category><![CDATA[统计]]></category>
		<category><![CDATA[蜘蛛]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2009/%e7%bb%9f%e8%ae%a1%e6%8f%92%e4%bb%b6%e7%9a%84%e6%b5%8b%e8%af%95%e8%ae%b0%e5%bd%95.html</guid>
		<description><![CDATA[昨天把自己做的统计插件放在博里进行测试，发现很多莫名的直接访问，其中包括google、微软、yahoo和一个来自北京的IP，突然意识到，这是搜索引擎蜘蛛爬来抓网页了，晕倒，看来好好的测试还是有很必要的，做插件时没想到这个问题，于是使用下面一句代码屏蔽了蜘蛛抓取记录。
 
if&#160;(preg_match(&#34;/(Bot&#124;Crawl&#124;Spider&#124;slurp&#124;sohu-search&#124;lycos&#124;robozilla)/i&#34;, $_SERVER['HTTP_USER_AGENT'])) return;

使用上面的代码后，又进行了测试，果然好多了，没有那么多的蜘蛛的记录在插件上了，可又很失落，唉，俺的博客太小了，来的人太少了，郁闷着的时候居然又想到一个问题，曾经很多朋友，尤其是刚刚做站的朋友，总是在感叹：蜘蛛怎么还不来抓啊？呵呵，看来各种时期都有各种时期的烦恼啊，于是乎想到将“是否记录蜘蛛抓取”这个作为选项，并在国旗的位置弄个蜘蛛旗，这样如果有人需要记录蜘蛛，那么会一目了然，这样既不费事，又些许增强了插件的功能，当然，我可没想让插件只记录蜘蛛，呵，如果您想专门记录蜘蛛的话（我想那样的朋友还是很少的吧），在这个插件正式发布后您可以自行修改，下面这段是区分这个蜘蛛是来自哪个搜索引擎的。
function&#160;get_spider_name() {
&#160; &#160; $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
&#160; &#160; if&#160;(strpos($useragent, 'googlebot') !== false) return 'Googlebot';
&#160; &#160; if&#160;(strpos($useragent, 'msnbot') !== false) return 'MSNbot';
&#160; &#160; if&#160;(strpos($useragent, 'slurp') !== false) return 'Yahoobot';
&#160; &#160; if&#160;(strpos($useragent, 'baiduspider') !== false) return 'Baiduspider';
&#160; &#160; if&#160;(strpos($useragent, 'sohu-search') !== false) return 'Sohubot';
&#160; &#160; if&#160;(strpos($useragent, 'lycos') !== false) return 'Lycos';
&#160; &#160; if&#160;(strpos($useragent, 'robozilla') !== [...]]]></description>
			<content:encoded><![CDATA[<p>昨天把自己做的统计插件放在博里进行测试，发现很多莫名的直接访问，其中包括google、微软、yahoo和一个来自北京的IP，突然意识到，这是搜索引擎蜘蛛爬来抓网页了，晕倒，看来好好的测试还是有很必要的，做插件时没想到这个问题，于是使用下面一句代码屏蔽了蜘蛛抓取记录。</p>
<p> <span id="more-83"></span>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$_SERVER</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">HTTP_USER_AGENT</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]))</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>使用上面的代码后，又进行了测试，果然好多了，没有那么多的蜘蛛的记录在插件上了，可又很失落，唉，俺的博客太小了，来的人太少了，郁闷着的时候居然又想到一个问题，曾经很多朋友，尤其是刚刚做站的朋友，总是在感叹：蜘蛛怎么还不来抓啊？呵呵，看来各种时期都有各种时期的烦恼啊，于是乎想到将“是否记录蜘蛛抓取”这个作为选项，并在国旗的位置弄个蜘蛛旗，这样如果有人需要记录蜘蛛，那么会一目了然，这样既不费事，又些许增强了插件的功能，当然，我可没想让插件只记录蜘蛛，呵，如果您想专门记录蜘蛛的话（我想那样的朋友还是很少的吧），在这个插件正式发布后您可以自行修改，下面这段是区分这个蜘蛛是来自哪个搜索引擎的。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">get_spider_name</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$useragent</span><span style="color: Gray;"> = </span><span style="color: Blue;">strtolower</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_SERVER</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">HTTP_USER_AGENT</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">googlebot</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Googlebot</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">msnbot</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">MSNbot</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">slurp</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Yahoobot</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">baiduspider</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Baiduspider</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">sohu-search</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Sohubot</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">lycos</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Lycos</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$useragent</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">robozilla</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">Robozilla</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p>OK，再测试两天，没有什么问题的话就发布了。</p>
<p>另：这个插件很简单，只是做一个统计访问，包含来源网站、来源网址、来源地和时间，限于自己英盲的水平，还请英语好的朋友给起个英文的插件名，如果您愿意的话，请留言给我，深表感谢。</p>
<p><a href="http://xfuxing.com/2009/statistics-plug-in-test-records.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年11月3日 -- <a href="http://xfuxing.com/2009/modify-the-mail-to-commenter-so-that-more-user-friendly-e-mail-notification.html" title="修改 mail to commenter,让邮件通知更加友好">修改 mail to commenter,让邮件通知更加友好</a> (31)</li><li>2009年09月24日 -- <a href="http://xfuxing.com/2009/plug-in-released-simple-stats-widget-for-wordpress.html" title="Plug-in released:simple-stats-widget for WordPress">Plug-in released:simple-stats-widget for WordPress</a> (32)</li><li>2009年09月30日 -- <a href="http://xfuxing.com/2009/plug-in-update.html" title="插件更新">插件更新</a> (11)</li><li>2009年09月21日 -- <a href="http://xfuxing.com/2009/also-played-a-wordpress-plug-in-similar-to-the-clicki.html" title="又玩了一个WordPress插件，类似clicki的">又玩了一个WordPress插件，类似clicki的</a> (10)</li><li>2009年09月16日 -- <a href="http://xfuxing.com/2009/recommended-three-plug-ins-clean-options-wp-optimize-mail-to-commenter.html" title="推荐三款插件：Clean Options、WP-Optimize、Mail To Commenter">推荐三款插件：Clean Options、WP-Optimize、Mail To Commenter</a> (20)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/statistics-plug-in-test-records.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jquery动感菜单（导航）代码</title>
		<link>http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html</link>
		<comments>http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html#comments</comments>
		<pubDate>Thu, 23 Jul 2009 02:41:04 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[导航]]></category>
		<category><![CDATA[菜单]]></category>

		<guid isPermaLink="false">http://xfuxing.com/abc/55</guid>
		<description><![CDATA[其实菜单（或说导航条？）有很多种，不是非要jquery不可，但有时这种菜单确实做得漂亮，虽然我下面这个菜单很简单，也是网上多个例子中的一个，但对我很实用，机制无非是用一张大图做背景，然后通过jquery来步进的移动这张背景图，造成动感。]]></description>
			<content:encoded><![CDATA[<p>其实菜单（或说导航条？）有很多种，不是非要jquery不可，但有时这种菜单确实做得漂亮，虽然我下面这个菜单很简单，也是网上多个例子中的一个，但对我很实用，机制无非是用一张大图做背景，然后通过jquery来步进的移动这张背景图，造成动感。代码中的背景图没有附上，如果您喜欢，可以自己搞一张。大小嘛，199px X 100px。<br />
<span id="more-55"></span><br />
<code><br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;<br />
&lt;html lang="en"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Menu&lt;/title&gt;</p>
<p>&lt;style type="text/css"&gt;<br />
	ul {list-style:none;margin:0;padding:0;}<br />
	li {float:left;width:100px;margin:0;padding:0;text-align:center;}<br />
	li a {display:block;padding:5px 10px;height:100%;color:#FFF;text-decoration:none;border-right:1px solid #FFF;}<br />
	li a {background:url(bg2.jpg) repeat 0 0;}<br />
	li a:hover, li a:focus, li a:active {background-position:-150px 0;}<br />
	#menu a {background:url(bg.jpg) repeat -20px 35px;}</p>
<p>&lt;/style&gt;</p>
<p>&lt;script type="text/javascript" src="jquery-1.3.2.min.js"&gt;&lt;/script&gt;</p>
<p>&lt;script type="text/javascript"&gt;</p>
<p>$(function(){<br />
	$('#menu a')<br />
		.css( {backgroundPosition: "-20px 35px"} )<br />
		.mouseover(function(){<br />
			$(this).stop().animate({backgroundPosition:"(-20px 94px)"}, {duration:500})<br />
		})<br />
		.mouseout(function(){<br />
			$(this).stop().animate({backgroundPosition:"(40px 35px)"}, {duration:200, complete:function(){<br />
				$(this).css({backgroundPosition: "-20px 35px"})<br />
			}})<br />
		})<br />
});<br />
$(function($) {<br />
	$.extend($.fx.step,{<br />
	    backgroundPosition: function(fx) {<br />
            if (fx.state === 0 &#038;&#038; typeof fx.end == 'string') {<br />
                var start = $.curCSS(fx.elem,'backgroundPosition');<br />
                start = toArray(start);<br />
                fx.start = [start[0],start[2]];<br />
                var end = toArray(fx.end);<br />
                fx.end = [end[0],end[2]];<br />
                fx.unit = [end[1],end[3]];<br />
			}<br />
            var nowPosX = [];<br />
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];<br />
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];<br />
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];</p>
<p>           function toArray(strg){<br />
               strg = strg.replace(/left|top/g,'0px');<br />
               strg = strg.replace(/right|bottom/g,'100%');<br />
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");<br />
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);<br />
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];<br />
           }<br />
        }<br />
	});<br />
});<br />
&lt;/script&gt;</p>
<p>&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div&gt;<br />
	&lt;ul id="menu"&gt;<br />
		&lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code></p>
<p><a href="http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年07月22日 -- <a href="http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html" title="jquery滑动回顶部代码">jquery滑动回顶部代码</a> (0)</li><li>2009年07月21日 -- <a href="http://xfuxing.com/2009/jquery-interlacing-color-code.html" title="jquery隔行变色代码">jquery隔行变色代码</a> (0)</li><li>2009年07月19日 -- <a href="http://xfuxing.com/2009/jquery-option-card-code.html" title="jquery选项卡代码">jquery选项卡代码</a> (0)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery滑动回顶部代码</title>
		<link>http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html</link>
		<comments>http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html#comments</comments>
		<pubDate>Wed, 22 Jul 2009 02:27:02 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[回顶部]]></category>
		<category><![CDATA[滑动]]></category>

		<guid isPermaLink="false">http://xfuxing.com/abc/54</guid>
		<description><![CDATA[有时候因为网页太长，看到底部的时候再回到最上面的确是让人费劲的事情，拉动滚动条或用鼠标动作，太繁复了。在底部添加一个“返回顶部”的功能确实是不错，方法很多了，可以设锚点，可以用JS，不过这里要说的还是用jquery。代码也是很简单的，就不做说明了。]]></description>
			<content:encoded><![CDATA[<p>有时候因为网页太长，看到底部的时候再回到最上面的确是让人费劲的事情，拉动滚动条或用鼠标动作，太繁复了。在底部添加一个“返回顶部”的功能确实是不错，方法很多了，可以设锚点，可以用JS，不过这里要说的还是用jquery。代码也是很简单的，就不做说明了。<br />
<span id="more-54"></span><br />
<code><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cn" lang="cn"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;<br />
&lt;title&gt;Top&lt;/title&gt;</p>
<p>&lt;script src="jquery-1.3.2.min.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
&lt;!--<br />
$(document).ready(function(){<br />
$('.gotop').click(function(){<br />
	$('html, body').animate({scrollTop: 0},300);<br />
});<br />
});<br />
--&gt;<br />
&lt;/script&gt;<br />
&lt;style type="text/css"&gt;</p>
<p>.gotop {<br />
	margin: 0;<br />
	padding: 0 20px;<br />
	height: 31px;<br />
	line-height: 31px;<br />
	border: 1px solid #999;<br />
	overflow: hidden;<br />
	position: relative;<br />
	background: #e0e0e0;<br />
	text-decoration: none;<br />
	color: #000;<br />
	display: block;<br />
	font-size: 1.2em;<br />
	outline: none;<br />
	cursor: hand;<br />
}<br />
#kk {<br />
	height:1000px;<br />
}</p>
<p>&lt;/style&gt;</p>
<p>&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;TOP!&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div id="kk"&gt;&lt;/div&gt;<br />
&lt;div&gt;<br />
&lt;ul&gt;<br />
&lt;li class="gotop"&gt;go to top!&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code></p>
<p><a href="http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年07月23日 -- <a href="http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html" title="jquery动感菜单（导航）代码">jquery动感菜单（导航）代码</a> (0)</li><li>2009年07月21日 -- <a href="http://xfuxing.com/2009/jquery-interlacing-color-code.html" title="jquery隔行变色代码">jquery隔行变色代码</a> (0)</li><li>2009年07月19日 -- <a href="http://xfuxing.com/2009/jquery-option-card-code.html" title="jquery选项卡代码">jquery选项卡代码</a> (0)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery隔行变色代码</title>
		<link>http://xfuxing.com/2009/jquery-interlacing-color-code.html</link>
		<comments>http://xfuxing.com/2009/jquery-interlacing-color-code.html#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:17:25 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[隔行变色]]></category>

		<guid isPermaLink="false">http://xfuxing.com/abc/53</guid>
		<description><![CDATA[昨天记下个jquery的选项卡代码，今天继续记。
很多时候我们在评论或li列表里会用到隔行变色以及经过变色这样的功能，这个功能说来比较花哨，但又不失其实用效果，可以有效的缓解视疲劳，以及让观者不至看串行。废话少说，代码在下。]]></description>
			<content:encoded><![CDATA[<p>昨天记下个jquery的选项卡代码，今天继续记。<br />
很多时候我们在评论或li列表里会用到隔行变色以及经过变色这样的功能，这个功能说来比较花哨，但又不失其实用效果，可以有效的缓解视疲劳，以及让观者不至看串行。废话少说，代码在下。<br />
<span id="more-53"></span><br />
<code><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cn" lang="cn"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;<br />
&lt;title&gt;Discolor&lt;/title&gt;</p>
<p>&lt;script src="jquery-1.3.2.min.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
&lt;!--<br />
$(document).ready(function(){<br />
	$("#list li:even").addClass("li_bg1");<br />
    $("#list li:odd").addClass("li_bg2");<br />
	$("#list li").hover(function(){<br />
		$(this).addClass("hover");<br />
		},<br />
		function(){<br />
			$(this).removeClass("hover");<br />
		});<br />
});<br />
--&gt;<br />
&lt;/script&gt;<br />
&lt;style type="text/css"&gt;<br />
#list .li_bg1 {<br />
	background:#FFF;<br />
	}<br />
#list .li_bg2 {<br />
	background:#F0F;<br />
	}<br />
#list li.hover {<br />
	background:#0F0;<br />
	}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;div&gt;<br />
		&lt;ul id="list"&gt;<br />
			&lt;li&gt;Content of the One!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Two!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Three!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Four!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Five!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Six!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Seven!&lt;/li&gt;<br />
			&lt;li&gt;Content of the Eight!&lt;/li&gt;<br />
		&lt;/ul&gt;<br />
	&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
代码很简单，不用做什么说明了。</p>
<p><a href="http://xfuxing.com/2009/jquery-interlacing-color-code.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年07月23日 -- <a href="http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html" title="jquery动感菜单（导航）代码">jquery动感菜单（导航）代码</a> (0)</li><li>2009年07月22日 -- <a href="http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html" title="jquery滑动回顶部代码">jquery滑动回顶部代码</a> (0)</li><li>2009年07月19日 -- <a href="http://xfuxing.com/2009/jquery-option-card-code.html" title="jquery选项卡代码">jquery选项卡代码</a> (0)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/jquery-interlacing-color-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery选项卡代码</title>
		<link>http://xfuxing.com/2009/jquery-option-card-code.html</link>
		<comments>http://xfuxing.com/2009/jquery-option-card-code.html#comments</comments>
		<pubDate>Sun, 19 Jul 2009 02:54:05 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[选项卡]]></category>

		<guid isPermaLink="false">http://xfuxing.com/abc/52</guid>
		<description><![CDATA[如今选项卡这种方式可是很热门的，在网上一搜一大片，本着小博有可能会依赖于lightbox2的图片效果，于是搜起了jquery这个JS框架下的相关代码，在查看了N个后，进行整合，于是，下面的代码热气腾腾的出炉了，虽说这样的代码网上比比皆是，但我还是记录下来，如果您凑巧也喜欢，那尽管拿去好了。]]></description>
			<content:encoded><![CDATA[<p>一直想写个漂亮实用的主题，可无奈自己技术不够，甚至可以说是门外汉，虽然前几日依着K2和iNove以及大量的插件差点改出一个主题来，但最终还是放弃了。对于技术，咱这个门外汉还是奉行“拿来主义”吧，一点一点充实之后再厚积薄发。</p>
<p>第一个充实的——选项卡。</p>
<p>如今选项卡这种方式可是很热门的，在网上一搜一大片，本着小博有可能会依赖于lightbox2的图片效果，于是搜起了jquery这个JS框架下的相关代码，在查看了N个后，进行整合，于是，下面的代码热气腾腾的出炉了，虽说这样的代码网上比比皆是，但我还是记录下来，如果您凑巧也喜欢，那尽管拿去好了。<br />
<span id="more-52"></span><br />
<code><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cn" lang="cn"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;<br />
&lt;title&gt;Tabs&lt;/title&gt;</p>
<p>&lt;script src="jquery-1.3.2.min.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
&lt;!--<br />
$(document).ready(function() {<br />
	//When page loads<br />
	$(".tab_content").hide(); //Hide all content<br />
	$("ul.tabs li:first").addClass("active").show(); //Activate first tab<br />
	$(".tab_content:first").show(); //Show first tab content</p>
<p>    var $div_li = $("ul.tabs li");<br />
    $div_li.click(function(){<br />
        $(this).addClass("active").siblings().removeClass("active");<br />
        var index =  $div_li.index(this);  //Click access to the current elements in all the &lt;li&gt; elements in the index.<br />
        $("div.tab_container &gt; div").eq(index).show().siblings().hide();<br />
    }).hover(function(){<br />
        $(this).addClass("hover");<br />
    },function(){<br />
        $(this).removeClass("hover");<br />
    });<br />
});<br />
--&gt;<br />
&lt;/script&gt;<br />
&lt;style type="text/css"&gt;<br />
&lt;!-- menu start --&gt;<br />
ul.tabs {<br />
	margin: 0;<br />
	padding: 0;<br />
	float: left;<br />
	list-style: none;<br />
	height: 32px;<br />
	border-bottom: 1px solid #999;<br />
	border-left: 1px solid #999;<br />
	width: 100%;<br />
}<br />
ul.tabs li {<br />
	float: left;<br />
	margin: 0;<br />
	padding: 0 20px;<br />
	height: 31px;<br />
	line-height: 31px;<br />
	border: 1px solid #999;<br />
	border-left: none;<br />
	margin-bottom: -1px;<br />
	overflow: hidden;<br />
	position: relative;<br />
	background: #e0e0e0;<br />
	text-decoration: none;<br />
	color: #000;<br />
	display: block;<br />
	font-size: 1.2em;<br />
	outline: none;<br />
	cursor: hand;<br />
}<br />
ul.tabs li.hover {<br />
	background: #ccc;<br />
}<br />
ul.tabs li.active {<br />
	background: #fff;<br />
	border-bottom: 1px solid #999;<br />
}<br />
&lt;!-- menu end --&gt;<br />
&lt;!-- content start --&gt;<br />
.tab_container {<br />
	border: 1px solid #999;<br />
	border-top: none;<br />
	overflow: hidden;<br />
	clear: both;<br />
	float: left; width: 100%;<br />
	background: #fff;<br />
}<br />
.tab_content {<br />
	padding: 20px;<br />
	font-size: 1.2em;<br />
}<br />
&lt;!-- content end --&gt;<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;div class="menu"&gt;<br />
		&lt;ul class="tabs"&gt;<br />
			&lt;li&gt;One&lt;/li&gt;<br />
			&lt;li&gt;Two&lt;/li&gt;<br />
			&lt;li&gt;Three&lt;/li&gt;<br />
		&lt;/ul&gt;<br />
	&lt;/div&gt;</p>
<p>	&lt;div class="tab_container"&gt;<br />
		&lt;div class="tab_content"&gt;<br />
			Content of the One!<br />
		&lt;/div&gt;<br />
		&lt;div class="tab_content"&gt;<br />
			Content of the Two!<br />
		&lt;/div&gt;<br />
		&lt;div class="tab_content"&gt;<br />
			Content of the Three!<br />
		&lt;/div&gt;<br />
	&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
代码很简单，不做太多说明了，留着备用。<br />
哦，顺便庆祝一下PICASA终于正常了，我儿的照片又能显示了。</p>
<p><a href="http://xfuxing.com/2009/jquery-option-card-code.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年07月23日 -- <a href="http://xfuxing.com/2009/jquery-dynamic-menu-navigation-code.html" title="jquery动感菜单（导航）代码">jquery动感菜单（导航）代码</a> (0)</li><li>2009年07月22日 -- <a href="http://xfuxing.com/2009/jquery-sliding-back-to-the-top-of-the-code.html" title="jquery滑动回顶部代码">jquery滑动回顶部代码</a> (0)</li><li>2009年07月21日 -- <a href="http://xfuxing.com/2009/jquery-interlacing-color-code.html" title="jquery隔行变色代码">jquery隔行变色代码</a> (0)</li><li>2010年08月28日 -- <a href="http://xfuxing.com/2010/php-program-on-the-internationalization-i18n-of-those-things.html" title="关于php程序国际化(i18n)的那些事">关于php程序国际化(i18n)的那些事</a> (2)</li><li>2010年08月27日 -- <a href="http://xfuxing.com/2010/php-remote-file-access-to-information-under-an-important-function-get_headers.html" title="php下获取远程文件信息的重要函数get_headers">php下获取远程文件信息的重要函数get_headers</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2009/jquery-option-card-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

