<?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</title>
	<atom:link href="http://xfuxing.com/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>2012终于来了</title>
		<link>http://xfuxing.com/2012/2012%e7%bb%88%e4%ba%8e%e6%9d%a5%e4%ba%86.html</link>
		<comments>http://xfuxing.com/2012/2012%e7%bb%88%e4%ba%8e%e6%9d%a5%e4%ba%86.html#comments</comments>
		<pubDate>Sun, 01 Jan 2012 16:55:46 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[朝花夕拾]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[幸福]]></category>
		<category><![CDATA[活着]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2012/2012%e7%bb%88%e4%ba%8e%e6%9d%a5%e4%ba%86.html</guid>
		<description><![CDATA[战战兢兢的过了一个1999，电影中恐怖的2012又终于来了。不知道这个2012会否真的有那么多事情发生，新的一年，期盼着生命中那些不可预知的事情，又苦恼着那不知的烦恼，一时间还真是晕头转向。网络越来越成为人们主要的信息来源，会否有一天真的被这些程序控制了人生？新的一年，我的工作是否能有着落？孩子快到上学的年龄了，家里的收入能否盯得住？弟兄们的家庭是否能平稳的走过七年之痒？老婆的身体是否能好一些？老爸老妈的身体是否能坚持得住？地球……
太多了，胡思乱想后的短暂宁静，才知道，原来算命真的有好处也有坏处，原来佛语讲一切在当下真的是对的，原来我们的热词真的是活着这两个字，原来一切的一切真的是一……
祝一切与我相关无关的生命体，在这新的一年能在思想上有所感悟，能真的守住眼前的幸福。愿大家都好。
Simple happiness
您可能感兴趣的文章2010年05月29日 -- 期待2010年世界杯 (0)2009年08月27日 -- 活着，还真是《活着》 (2)2009年07月18日 -- 贾君鹏VS春哥 (0)2009年07月15日 -- 穷富论 (0)]]></description>
			<content:encoded><![CDATA[<p>战战兢兢的过了一个1999，电影中恐怖的2012又终于来了。不知道这个2012会否真的有那么多事情发生，新的一年，期盼着生命中那些不可预知的事情，又苦恼着那不知的烦恼，一时间还真是晕头转向。网络越来越成为人们主要的信息来源，会否有一天真的被这些程序控制了人生？新的一年，我的工作是否能有着落？孩子快到上学的年龄了，家里的收入能否盯得住？弟兄们的家庭是否能平稳的走过七年之痒？老婆的身体是否能好一些？老爸老妈的身体是否能坚持得住？地球……</p>
<p>太多了，胡思乱想后的短暂宁静，才知道，原来算命真的有好处也有坏处，原来佛语讲一切在当下真的是对的，原来我们的热词真的是活着这两个字，原来一切的一切真的是一……</p>
<p>祝一切与我相关无关的生命体，在这新的一年能在思想上有所感悟，能真的守住眼前的幸福。愿大家都好。</p>
<p><a href="http://xfuxing.com/2012/2012%e7%bb%88%e4%ba%8e%e6%9d%a5%e4%ba%86.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年05月29日 -- <a href="http://xfuxing.com/2010/looking-forward-to-the-2010-world-cup.html" title="期待2010年世界杯">期待2010年世界杯</a> (0)</li><li>2009年08月27日 -- <a href="http://xfuxing.com/2009/alive-really-is-alive.html" title="活着，还真是《活着》">活着，还真是《活着》</a> (2)</li><li>2009年07月18日 -- <a href="http://xfuxing.com/2009/jia-peng-chun-vs-brother.html" title="贾君鹏VS春哥">贾君鹏VS春哥</a> (0)</li><li>2009年07月15日 -- <a href="http://xfuxing.com/2009/between-rich-and-poor-on-the.html" title="穷富论">穷富论</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2012/2012%e7%bb%88%e4%ba%8e%e6%9d%a5%e4%ba%86.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>饭否终于回来了</title>
		<link>http://xfuxing.com/2010/rice-has-finally-returned.html</link>
		<comments>http://xfuxing.com/2010/rice-has-finally-returned.html#comments</comments>
		<pubDate>Sat, 27 Nov 2010 02:40:58 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[饭否]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e9%a5%ad%e5%90%a6%e7%bb%88%e4%ba%8e%e5%9b%9e%e6%9d%a5%e4%ba%86.html</guid>
		<description><![CDATA[没别的说的，伸伸腿吧，纯是纪念一下，没啥感想，呵呵。
Simple happiness
您可能感兴趣的文章2009年07月9日 -- 等待饭否 (0)]]></description>
			<content:encoded><![CDATA[<p>没别的说的，伸伸腿吧，纯是纪念一下，没啥感想，呵呵。</p>
<p><a href="http://xfuxing.com/2010/rice-has-finally-returned.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年07月9日 -- <a href="http://xfuxing.com/2009/no-waiting-for-rice.html" title="等待饭否">等待饭否</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/rice-has-finally-returned.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>可怜的360用鸡蛋去碰QQ</title>
		<link>http://xfuxing.com/2010/360-eggs-in-touch-with-the-poor-qq.html</link>
		<comments>http://xfuxing.com/2010/360-eggs-in-touch-with-the-poor-qq.html#comments</comments>
		<pubDate>Wed, 03 Nov 2010 15:24:11 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[关注网络]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[恶意]]></category>
		<category><![CDATA[扣扣保镖]]></category>
		<category><![CDATA[警告]]></category>
		<category><![CDATA[遗憾]]></category>
		<category><![CDATA[非法]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%8f%af%e6%80%9c%e7%9a%84360%e7%94%a8%e9%b8%a1%e8%9b%8b%e5%8e%bb%e7%a2%b0qq.html</guid>
		<description><![CDATA[今天刚刚给朋友的公司收拾几台电脑，为了方便我将来的维护，及适用于大多数懒人或不懂的人使用，在杀毒和防火墙方面一律没有选用我喜欢用的卡巴，全部上的360系列，并且将浏览器从我用的世界之窗一律也换了360系列的。然后，恶梦开始了。

晚上收拾完后顺便在朋友家吃的饭，我正吃的时候，朋友打开笔记本，上了QQ，收到一个QQ的警告，大致是QQ受360“非法恶意”的什么“扣扣保镖”插件所致，不得不向广大使用者“遗憾”的说BYE，所谓的BYE，即在使用QQ的机器上一旦存在360,那么QQ一律不能使用……
天啊！要现在大部分人不用360可以，可是在和谐社会里不用QQ的人太少了，以如此庞大的市场基础去玩一个小小的360,真的没有什么悬念，360啊，你也太那个了吧，明明人家QQ财大气粗，一抓就能抓你脖素上，你居然弄个什么破插件把人家搞火了，晕，你脑袋是不是被门夹了啊。QQ是什么？QQ就是不管什么钱，只要是钱就挣。你要是有人家那庞大的用户群体，并且大有舍我其谁之势，那就对着干，问题是你只是广大群众因为免费或省事而使用的产品，唉，可怜的360,愿你自己保重，一路走好，听人劝，吃饱饭，小心气粗的QQ 一生气吃了你，那就冤死了，为了能给大家一个免费可以使用并可以不补QQ强奸的东西，还是好好的放弃那个什么破插件吧。
Simple happiness
您可能感兴趣的文章2009年10月24日 -- 用Miranda-IM聚合你的聊天软件，续 (2)2009年10月20日 -- 用Miranda-IM聚合你的聊天软件 (2)]]></description>
			<content:encoded><![CDATA[<p>今天刚刚给朋友的公司收拾几台电脑，为了方便我将来的维护，及适用于大多数懒人或不懂的人使用，在杀毒和防火墙方面一律没有选用我喜欢用的卡巴，全部上的360系列，并且将浏览器从我用的世界之窗一律也换了360系列的。然后，恶梦开始了。<br />
<span id="more-152"></span><br />
晚上收拾完后顺便在朋友家吃的饭，我正吃的时候，朋友打开笔记本，上了QQ，收到一个QQ的警告，大致是QQ受360“非法恶意”的什么“扣扣保镖”插件所致，不得不向广大使用者“遗憾”的说BYE，所谓的BYE，即在使用QQ的机器上一旦存在360,那么QQ一律不能使用……<br />
天啊！要现在大部分人不用360可以，可是在和谐社会里不用QQ的人太少了，以如此庞大的市场基础去玩一个小小的360,真的没有什么悬念，360啊，你也太那个了吧，明明人家QQ财大气粗，一抓就能抓你脖素上，你居然弄个什么破插件把人家搞火了，晕，你脑袋是不是被门夹了啊。QQ是什么？QQ就是不管什么钱，只要是钱就挣。你要是有人家那庞大的用户群体，并且大有舍我其谁之势，那就对着干，问题是你只是广大群众因为免费或省事而使用的产品，唉，可怜的360,愿你自己保重，一路走好，听人劝，吃饱饭，小心气粗的QQ 一生气吃了你，那就冤死了，为了能给大家一个免费可以使用并可以不补QQ强奸的东西，还是好好的放弃那个什么破插件吧。</p>
<p><a href="http://xfuxing.com/2010/360-eggs-in-touch-with-the-poor-qq.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2009年10月24日 -- <a href="http://xfuxing.com/2009/miranda-im-aggregation-using-your-chat-software-continued.html" title="用Miranda-IM聚合你的聊天软件，续">用Miranda-IM聚合你的聊天软件，续</a> (2)</li><li>2009年10月20日 -- <a href="http://xfuxing.com/2009/miranda-im-aggregation-using-your-chat-software.html" title="用Miranda-IM聚合你的聊天软件">用Miranda-IM聚合你的聊天软件</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/360-eggs-in-touch-with-the-poor-qq.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>太阳，你在哪里（三）</title>
		<link>http://xfuxing.com/2010/the-sun-where-are-you-3.html</link>
		<comments>http://xfuxing.com/2010/the-sun-where-are-you-3.html#comments</comments>
		<pubDate>Thu, 09 Sep 2010 06:01:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[朝花夕拾]]></category>
		<category><![CDATA[太阳]]></category>
		<category><![CDATA[小陈]]></category>
		<category><![CDATA[陈默]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%a4%aa%e9%98%b3%ef%bc%8c%e4%bd%a0%e5%9c%a8%e5%93%aa%e9%87%8c%ef%bc%88%e4%b8%89%ef%bc%89.html</guid>
		<description><![CDATA[阳光还是不错的，清晨的空气也还带着露水和着草的清香味道。又是新的一天到来，又是一和以前一样的一天，或许这一天未必同以前一样吧。陈默从那个假山洞里出来，用手指刷了刷自己的乱发，迎着小花园里晨练的大爷大娘以及狗狗们的不友善的眼神走向大街，今天的早餐会是丰盛的，当然，这种丰盛是有限度的，小陈花费了三元钱在一个没人排队的煎饼果子摊前买了一套一个鸡蛋两根油条的组合，那种葱花与辣酱的味道对他来说是一种美味。吃饱后，小陈去了一趟一元一次的收费公厕，除了解决个人问题之外，还用那里的水将暴露的皮肤洗干净。在看公厕老人怪异的眼神中，小陈走了出去，找了一个背静的地方开始背诵《心经》，这是他每天的功课。当背诵完百零八遍后，太阳的位置已经移到了东南方，从位置来判断，大约应该是上午十点钟左右了。
陈默开始愣愣的沉默了，每天这个时间似乎是最难熬的，因为他没有目标，不知道要去做点什么，只是愣愣的发呆，就象曾经在拉萨的那段时间一样。回忆着他的过去，回忆着曾经的幸福。
 
“喂！要饭的，滚边上去！快离开这！”一个城管冲着陈默喊道。陈默抬头看了看，只见有三两个城管站在便道上瞪着他，旁边一辆漆有“城市管理”的小皮卡，载着破桌破椅和一些收缴来的肉菜水果什么的慢慢的，慢慢的延着路边向前挪。他还沉浸在回忆的幸福里，还没有反应过来城管是在对他吼。“妈的，瞪着我干嘛！你瞎你聋啊！”随着另一声吼，一个一米九身高，体重在二百二十斤左右的城管，用他那类似熊掌的大脚踹了过来，陈默似乎动了动，但又似乎没有动，总之是没有被那只脚踹到，在那个“大炮弹”还莫明其妙的时候，快速的溜走了。
在躲避了城管们的喝斥后，陈默开始来了点精神，对，自己不能这样下去，成什么样子啊，难道爹妈生了自己就是为了听这些人对自己的喝斥吗？再说了，自己也会一些小把戏，做点什么不成，可又一转念，在拉萨的那些日子才真正懂得自己的无知，算了，不理会这些，找个地方吃饭去吧。
陈默溜达着，在路边抠了些沙土，去到了一个综合菜市场的门前，在这里一蹲，用沙土撒出一行字：“求两到六个馒头，谢谢。”时间不长，也就大约半个小时左右，陈默的要求就得到了满足，甚至于还收入了一元钱，于是他起身，走进这个菜市场，捡了点扔在地上的烂水果和菜叶，就着两个馒头吃了起来，旁边的塑料袋里还放着四个馒头，菜市场门口卖体育彩票的老人一直在看着他，直到陈默吃完东西才感觉到。陈默看了看那位老人，老人慢慢的走过来问陈默：“你就这样要饭？”陈默点点头，却没有说话。老人摇了摇头，也没有说话就走开了，过了一会，风起来了，陈默准备起身去找个背风的地方继续去背诵经文，那位卖彩票的老人拎着一个老旧的破茶缸冲着他说：“要饭有要饭的规矩，你得有个家伙，给，这破茶缸我早就不用了，一直放在我那破桌子底下，不漏的，拿去当个家什用吧。”递给陈默这个茶缸后，老人转身又回到他的彩票机前了。陈默拿着这个白色的唐瓷茶缸，上面已经破瓷了许多处，茶缸的正面，那印着红色的“献给最可爱的人”的一面有些斑驳，红色也有一点发暗发黑。陈默看了看，冲老人鞠了一躬，转身带着茶缸和小塑料袋走了，去找地方继续背诵他的经文去了。
－－－－－－－－－－－－－－－－我是分割线－－－－－－－－－－－－－－－－－
这些日子忙，有时间就上来写点发着玩。
Simple happiness
您可能感兴趣的文章2010年09月1日 -- 太阳，你在哪里（二） (0)2010年08月30日 -- 太阳，你在哪里 (1)]]></description>
			<content:encoded><![CDATA[<p>阳光还是不错的，清晨的空气也还带着露水和着草的清香味道。又是新的一天到来，又是一和以前一样的一天，或许这一天未必同以前一样吧。陈默从那个假山洞里出来，用手指刷了刷自己的乱发，迎着小花园里晨练的大爷大娘以及狗狗们的不友善的眼神走向大街，今天的早餐会是丰盛的，当然，这种丰盛是有限度的，小陈花费了三元钱在一个没人排队的煎饼果子摊前买了一套一个鸡蛋两根油条的组合，那种葱花与辣酱的味道对他来说是一种美味。吃饱后，小陈去了一趟一元一次的收费公厕，除了解决个人问题之外，还用那里的水将暴露的皮肤洗干净。在看公厕老人怪异的眼神中，小陈走了出去，找了一个背静的地方开始背诵《心经》，这是他每天的功课。当背诵完百零八遍后，太阳的位置已经移到了东南方，从位置来判断，大约应该是上午十点钟左右了。</p>
<p>陈默开始愣愣的沉默了，每天这个时间似乎是最难熬的，因为他没有目标，不知道要去做点什么，只是愣愣的发呆，就象曾经在拉萨的那段时间一样。回忆着他的过去，回忆着曾经的幸福。</p>
<p> <span id="more-151"></span>
<p>“喂！要饭的，滚边上去！快离开这！”一个城管冲着陈默喊道。陈默抬头看了看，只见有三两个城管站在便道上瞪着他，旁边一辆漆有“城市管理”的小皮卡，载着破桌破椅和一些收缴来的肉菜水果什么的慢慢的，慢慢的延着路边向前挪。他还沉浸在回忆的幸福里，还没有反应过来城管是在对他吼。“妈的，瞪着我干嘛！你瞎你聋啊！”随着另一声吼，一个一米九身高，体重在二百二十斤左右的城管，用他那类似熊掌的大脚踹了过来，陈默似乎动了动，但又似乎没有动，总之是没有被那只脚踹到，在那个“大炮弹”还莫明其妙的时候，快速的溜走了。</p>
<p>在躲避了城管们的喝斥后，陈默开始来了点精神，对，自己不能这样下去，成什么样子啊，难道爹妈生了自己就是为了听这些人对自己的喝斥吗？再说了，自己也会一些小把戏，做点什么不成，可又一转念，在拉萨的那些日子才真正懂得自己的无知，算了，不理会这些，找个地方吃饭去吧。</p>
<p>陈默溜达着，在路边抠了些沙土，去到了一个综合菜市场的门前，在这里一蹲，用沙土撒出一行字：“求两到六个馒头，谢谢。”时间不长，也就大约半个小时左右，陈默的要求就得到了满足，甚至于还收入了一元钱，于是他起身，走进这个菜市场，捡了点扔在地上的烂水果和菜叶，就着两个馒头吃了起来，旁边的塑料袋里还放着四个馒头，菜市场门口卖体育彩票的老人一直在看着他，直到陈默吃完东西才感觉到。陈默看了看那位老人，老人慢慢的走过来问陈默：“你就这样要饭？”陈默点点头，却没有说话。老人摇了摇头，也没有说话就走开了，过了一会，风起来了，陈默准备起身去找个背风的地方继续去背诵经文，那位卖彩票的老人拎着一个老旧的破茶缸冲着他说：“要饭有要饭的规矩，你得有个家伙，给，这破茶缸我早就不用了，一直放在我那破桌子底下，不漏的，拿去当个家什用吧。”递给陈默这个茶缸后，老人转身又回到他的彩票机前了。陈默拿着这个白色的唐瓷茶缸，上面已经破瓷了许多处，茶缸的正面，那印着红色的“献给最可爱的人”的一面有些斑驳，红色也有一点发暗发黑。陈默看了看，冲老人鞠了一躬，转身带着茶缸和小塑料袋走了，去找地方继续背诵他的经文去了。</p>
<p>－－－－－－－－－－－－－－－－我是分割线－－－－－－－－－－－－－－－－－</p>
<p>这些日子忙，有时间就上来写点发着玩。</p>
<p><a href="http://xfuxing.com/2010/the-sun-where-are-you-3.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年09月1日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you-2.html" title="太阳，你在哪里（二）">太阳，你在哪里（二）</a> (0)</li><li>2010年08月30日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you.html" title="太阳，你在哪里">太阳，你在哪里</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/the-sun-where-are-you-3.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>太阳，你在哪里（二）</title>
		<link>http://xfuxing.com/2010/the-sun-where-are-you-2.html</link>
		<comments>http://xfuxing.com/2010/the-sun-where-are-you-2.html#comments</comments>
		<pubDate>Wed, 01 Sep 2010 14:09:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[朝花夕拾]]></category>
		<category><![CDATA[太阳]]></category>
		<category><![CDATA[小陈]]></category>
		<category><![CDATA[陈默]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%a4%aa%e9%98%b3%ef%bc%8c%e4%bd%a0%e5%9c%a8%e5%93%aa%e9%87%8c%ef%bc%88%e4%ba%8c%ef%bc%89.html</guid>
		<description><![CDATA[小陈到了目的地，这个地方是个居民区，在这个时间里，不应当有什么人出现，即使是出早班的出租车司机或者是晚归的那些司机。但前面确确实实的出现了两个人在围着一辆停在居民区外的一辆本田汽车转着，小陈的嘴角向上翘了翘，这两个人可以给他提供早餐了……
当两个盗贼不怎么费力的打开了车的后备箱，从里面向另一辆松花江面包车里搬运着箱装的饮料、矿泉水以及拆卸下来的车载16碟CD时，他们看到一个乞丐向他们走了过来，看到这个像牙签一样的人过来时，他们并不惊慌，其中一个继续的搬运着东西，另一位则悠闲的点上了一支烟向着牙签走了过去，边走边将右手伸向了衣袋取出一把三棱刮刀，搬运东西的这位兄弟已经忙完了，并且正在小心的将本田的后备箱的盖子盖好，还用一块白毛巾仔细的擦拭一遍，他根本不担心他的同伙对牙签的会做什么，然而当他做完善后事宜抬起头来时，发现那根牙签正一手搭在自己同伙的肩上，与同伙并排着走向自己，牙签向自己笑了笑，而自己的同伙则拿着刀向着自己说了一句话：“把身上的钱掏出来扔在地上。”
 
这位“搬运工”愣了一愣，“你他妈的有病啊！快上车，走！”他们的声音都不大，因为这个时间不能太大的声音，否则会惊醒那些熟睡的人们。拿刮刀的那位冲着“搬运工”机械的扬了扬手里的刀又说了一遍：“把身上的钱掏出来扔在地上。”“搬运工”似乎很生气，但感觉着牙签似乎有点什么来历，于是冲着牙签道：“这位兄弟，大家都是混口饭吃，不知道我这个兄弟跟您是不是熟人，咱别开这种玩笑。”牙签，也就是我们的小陈，呲了呲牙，终于开口说话了：“我需要点吃早饭的钱。”“这好办，早说嘛，你们是熟人，直说不就完了嘛，还犯得上跟我开这种玩笑。喏，我也没带多少，这一百给你。”说着伸出手去递给牙签一张“毛老头”，牙签伸手接了过来转身就走了。“搬运工”愣了，什么意思？想喊住牙签，但看了看同伙，那个拿刮刀的却没有任何反应，愣愣的看着他。“搬运工”觉得有些蹊跷，上前拉了一下同伙，同伙在他的拉扯下差点摔倒，随着一个趔趄，迷迷愣愣的看着“搬运工”，“干嘛？”“那牙签是你朋友？”“哪里？”当他们回过头来找牙签时，已经人迹不见了。
小陈将那张“毛老头”放进女士西服的里袋，轻轻松松的再次慢跑着，向着楼群里的一个小公园跑去，他知道那里有一个类似小山洞的假山，那里比较干燥，也没有人在那里随地解决个人问题，当他到了那里后，钻进小洞继续去睏他的大头觉了，有收获就没白跑，心情很好。
&#8212;&#8212;&#8211;我是分割线&#8212;&#8212;&#8212;&#8212;
昨天暖气改造，累了一天，没写，今天继续胡遍乱造。
Simple happiness
您可能感兴趣的文章2010年09月9日 -- 太阳，你在哪里（三） (1)2010年08月30日 -- 太阳，你在哪里 (1)]]></description>
			<content:encoded><![CDATA[<p>小陈到了目的地，这个地方是个居民区，在这个时间里，不应当有什么人出现，即使是出早班的出租车司机或者是晚归的那些司机。但前面确确实实的出现了两个人在围着一辆停在居民区外的一辆本田汽车转着，小陈的嘴角向上翘了翘，这两个人可以给他提供早餐了……</p>
<p>当两个盗贼不怎么费力的打开了车的后备箱，从里面向另一辆松花江面包车里搬运着箱装的饮料、矿泉水以及拆卸下来的车载16碟CD时，他们看到一个乞丐向他们走了过来，看到这个像牙签一样的人过来时，他们并不惊慌，其中一个继续的搬运着东西，另一位则悠闲的点上了一支烟向着牙签走了过去，边走边将右手伸向了衣袋取出一把三棱刮刀，搬运东西的这位兄弟已经忙完了，并且正在小心的将本田的后备箱的盖子盖好，还用一块白毛巾仔细的擦拭一遍，他根本不担心他的同伙对牙签的会做什么，然而当他做完善后事宜抬起头来时，发现那根牙签正一手搭在自己同伙的肩上，与同伙并排着走向自己，牙签向自己笑了笑，而自己的同伙则拿着刀向着自己说了一句话：“把身上的钱掏出来扔在地上。”</p>
<p> <span id="more-150"></span>
<p>这位“搬运工”愣了一愣，“你他妈的有病啊！快上车，走！”他们的声音都不大，因为这个时间不能太大的声音，否则会惊醒那些熟睡的人们。拿刮刀的那位冲着“搬运工”机械的扬了扬手里的刀又说了一遍：“把身上的钱掏出来扔在地上。”“搬运工”似乎很生气，但感觉着牙签似乎有点什么来历，于是冲着牙签道：“这位兄弟，大家都是混口饭吃，不知道我这个兄弟跟您是不是熟人，咱别开这种玩笑。”牙签，也就是我们的小陈，呲了呲牙，终于开口说话了：“我需要点吃早饭的钱。”“这好办，早说嘛，你们是熟人，直说不就完了嘛，还犯得上跟我开这种玩笑。喏，我也没带多少，这一百给你。”说着伸出手去递给牙签一张“毛老头”，牙签伸手接了过来转身就走了。“搬运工”愣了，什么意思？想喊住牙签，但看了看同伙，那个拿刮刀的却没有任何反应，愣愣的看着他。“搬运工”觉得有些蹊跷，上前拉了一下同伙，同伙在他的拉扯下差点摔倒，随着一个趔趄，迷迷愣愣的看着“搬运工”，“干嘛？”“那牙签是你朋友？”“哪里？”当他们回过头来找牙签时，已经人迹不见了。</p>
<p>小陈将那张“毛老头”放进女士西服的里袋，轻轻松松的再次慢跑着，向着楼群里的一个小公园跑去，他知道那里有一个类似小山洞的假山，那里比较干燥，也没有人在那里随地解决个人问题，当他到了那里后，钻进小洞继续去睏他的大头觉了，有收获就没白跑，心情很好。</p>
<p>&#8212;&#8212;&#8211;我是分割线&#8212;&#8212;&#8212;&#8212;</p>
<p>昨天暖气改造，累了一天，没写，今天继续胡遍乱造。</p>
<p><a href="http://xfuxing.com/2010/the-sun-where-are-you-2.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年09月9日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you-3.html" title="太阳，你在哪里（三）">太阳，你在哪里（三）</a> (1)</li><li>2010年08月30日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you.html" title="太阳，你在哪里">太阳，你在哪里</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/the-sun-where-are-you-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>太阳，你在哪里</title>
		<link>http://xfuxing.com/2010/the-sun-where-are-you.html</link>
		<comments>http://xfuxing.com/2010/the-sun-where-are-you.html#comments</comments>
		<pubDate>Mon, 30 Aug 2010 14:12:00 +0000</pubDate>
		<dc:creator>德海</dc:creator>
				<category><![CDATA[朝花夕拾]]></category>
		<category><![CDATA[太阳]]></category>
		<category><![CDATA[小陈]]></category>
		<category><![CDATA[陈默]]></category>

		<guid isPermaLink="false">http://xfuxing.com/2010/%e5%a4%aa%e9%98%b3%ef%bc%8c%e4%bd%a0%e5%9c%a8%e5%93%aa%e9%87%8c.html</guid>
		<description><![CDATA[天上有个太阳，阳光普照大地，人们在阳光下似乎都很绅士，即使路遇的乞丐以及盗贼，然面当日落后，黑暗来临，所有的绅士们似乎都披上了黑袍，戴上了自己的吸血牙，开始从内心那个棺木中复活了出来，黑暗下，只要没有灯光，他们的面具就完全的消失掉了，就好似好莱坞制做精良的人皮面具一般，轻轻的拉扯就掉落了，于是，罪恶开始了……
陈默一如他的名字一样，沉默着，在这个黑夜里苏醒了过来，望了望天上的月亮，还好，今夜很静，月夜也美，唯一的美中不足，恐怕就是有点月晕，日晕三更雨，月晕午时风。看来明天的乞讨生意不会太好，还好，现在是深夜，可以不那么绅士的规规矩矩的去乞讨，下面要做点什么的？陈默晃了晃头，头上因长期没有洗过，打了结的头发也随着晃，不过这并不让他看上去很恶心，因为他的脸很干净，长期没有食肉，他的脸色本就白晰，下巴上隐隐的有点青色的胡茬，可见他本人每天都要刮一刮胡子，他的刮胡刀很特别，是一把外壳颜色已经看不出本来的军绿色的简易瑞士军刀，这把刀不大，功能也不多，但钢口极好。
 
现在他又习惯性的在起床后刮着他的胡子，如果地上那被一件破军大衣盖着的几个破纸板箱能算是床的话。这位陈先生的衣着很是讲究，上身是一件黑色女士西装，对您没有看错，的确是女士西装，从后翘及前胸下的两个省都可以明显的看出，西装里套着一件灰色圆领的汗衫，在北方的这个城市里，人们习惯称这种东西为“老头衫”，下身则穿着一条破牛仔裤，一条腿是九分裤的长短，另一条腿则到了膝盖以上，并且垂下了数屡布条及布丝来盖住那同样白晰又显得类似牙签的小腿。脚下到是很齐整的穿着一双蓝色的帆布鞋，之所以能看出来是蓝色的帆布鞋，是因为两只鞋在鞋眼附近露出了一些看上去显得很新的蓝色，哦，等等，这不能称之为一双鞋，因为这是两只左脚的鞋。身上唯一能让人眼前一亮的似乎是陈先生的腰带，一根普通却又让人看着别扭的腰带——黄色的丝巾在腹下端打了一个活结。
陈先生，哦，为了方便，我们还是称他为小陈吧，因为这个人看上去也就在三十左右，还属年青人的范围。小陈伸了一个懒腰，活动了一下，然后做了一套标准的第七套广播体操，这种举动在正常的人群里已经很少见了，更何况我们眼前的小陈是一位乞丐，不过还好，这里是这个北方城市的市区边缘，这里不象市区内一样，午夜这里几乎不会有人在外面游逛，而且这里也根本没有大的路灯，有光源，也是在远处街角的一盏破旧的灯光昏暗的旧式小路灯。
现在是午夜了，小陈开始了他的不绅士的一面了。在运动完后，小陈开始跑步，向市区方向慢跑，虽然他的两只鞋都是左脚的，但这似乎并没有影响他的步伐，并且我个人认为这种慢跑对于小陈是安全的，因为他的身体很瘦，如果你不小心迎面和他撞上了，可能会被他扎到，对，就象一根牙签。从小陈的家，哦，就是那个被称做床的地方到市区，大约需要步行四个小时，以小陈的这种慢跑方式，他大约会在凌晨三点多到达市区稍繁华的地方，当然，我们说的是白天的繁华。凌晨三点到四点，盗贼们很喜欢这个时间，因为这个时间几乎是安全的，除了一些起早的小早点铺会有开工干活的声音，几乎没有什么人会在这个时候起来活动，而且这个时间也被历代的军人们所喜欢，因为这个时间正好是开战的时间，而在这里，这个时间也正好是我们的小陈到达这块地方做恶的时间。
小陈还在慢跑着，只不过他感觉有点饿了，目的地到了，接下来需要的是等待，如果运气好，他可以吃一顿不错的早饭。
&#160;
－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－
写不下去了，因为不知道要想把这个小陈写成什么样的人了，呵呵，全是写着玩，有时间会继续接着写。这周不写代码了，因为这周的工作比较忙，就瞎写点东西，不会很长，一个小短篇。写的不好，看不看随您。
Simple happiness
您可能感兴趣的文章2010年09月9日 -- 太阳，你在哪里（三） (1)2010年09月1日 -- 太阳，你在哪里（二） (0)]]></description>
			<content:encoded><![CDATA[<p>天上有个太阳，阳光普照大地，人们在阳光下似乎都很绅士，即使路遇的乞丐以及盗贼，然面当日落后，黑暗来临，所有的绅士们似乎都披上了黑袍，戴上了自己的吸血牙，开始从内心那个棺木中复活了出来，黑暗下，只要没有灯光，他们的面具就完全的消失掉了，就好似好莱坞制做精良的人皮面具一般，轻轻的拉扯就掉落了，于是，罪恶开始了……</p>
<p>陈默一如他的名字一样，沉默着，在这个黑夜里苏醒了过来，望了望天上的月亮，还好，今夜很静，月夜也美，唯一的美中不足，恐怕就是有点月晕，日晕三更雨，月晕午时风。看来明天的乞讨生意不会太好，还好，现在是深夜，可以不那么绅士的规规矩矩的去乞讨，下面要做点什么的？陈默晃了晃头，头上因长期没有洗过，打了结的头发也随着晃，不过这并不让他看上去很恶心，因为他的脸很干净，长期没有食肉，他的脸色本就白晰，下巴上隐隐的有点青色的胡茬，可见他本人每天都要刮一刮胡子，他的刮胡刀很特别，是一把外壳颜色已经看不出本来的军绿色的简易瑞士军刀，这把刀不大，功能也不多，但钢口极好。</p>
<p> <span id="more-149"></span>
<p>现在他又习惯性的在起床后刮着他的胡子，如果地上那被一件破军大衣盖着的几个破纸板箱能算是床的话。这位陈先生的衣着很是讲究，上身是一件黑色女士西装，对您没有看错，的确是女士西装，从后翘及前胸下的两个省都可以明显的看出，西装里套着一件灰色圆领的汗衫，在北方的这个城市里，人们习惯称这种东西为“老头衫”，下身则穿着一条破牛仔裤，一条腿是九分裤的长短，另一条腿则到了膝盖以上，并且垂下了数屡布条及布丝来盖住那同样白晰又显得类似牙签的小腿。脚下到是很齐整的穿着一双蓝色的帆布鞋，之所以能看出来是蓝色的帆布鞋，是因为两只鞋在鞋眼附近露出了一些看上去显得很新的蓝色，哦，等等，这不能称之为一双鞋，因为这是两只左脚的鞋。身上唯一能让人眼前一亮的似乎是陈先生的腰带，一根普通却又让人看着别扭的腰带——黄色的丝巾在腹下端打了一个活结。</p>
<p>陈先生，哦，为了方便，我们还是称他为小陈吧，因为这个人看上去也就在三十左右，还属年青人的范围。小陈伸了一个懒腰，活动了一下，然后做了一套标准的第七套广播体操，这种举动在正常的人群里已经很少见了，更何况我们眼前的小陈是一位乞丐，不过还好，这里是这个北方城市的市区边缘，这里不象市区内一样，午夜这里几乎不会有人在外面游逛，而且这里也根本没有大的路灯，有光源，也是在远处街角的一盏破旧的灯光昏暗的旧式小路灯。</p>
<p>现在是午夜了，小陈开始了他的不绅士的一面了。在运动完后，小陈开始跑步，向市区方向慢跑，虽然他的两只鞋都是左脚的，但这似乎并没有影响他的步伐，并且我个人认为这种慢跑对于小陈是安全的，因为他的身体很瘦，如果你不小心迎面和他撞上了，可能会被他扎到，对，就象一根牙签。从小陈的家，哦，就是那个被称做床的地方到市区，大约需要步行四个小时，以小陈的这种慢跑方式，他大约会在凌晨三点多到达市区稍繁华的地方，当然，我们说的是白天的繁华。凌晨三点到四点，盗贼们很喜欢这个时间，因为这个时间几乎是安全的，除了一些起早的小早点铺会有开工干活的声音，几乎没有什么人会在这个时候起来活动，而且这个时间也被历代的军人们所喜欢，因为这个时间正好是开战的时间，而在这里，这个时间也正好是我们的小陈到达这块地方做恶的时间。</p>
<p>小陈还在慢跑着，只不过他感觉有点饿了，目的地到了，接下来需要的是等待，如果运气好，他可以吃一顿不错的早饭。</p>
<p>&#160;</p>
<p>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－</p>
<p>写不下去了，因为不知道要想把这个小陈写成什么样的人了，呵呵，全是写着玩，有时间会继续接着写。这周不写代码了，因为这周的工作比较忙，就瞎写点东西，不会很长，一个小短篇。写的不好，看不看随您。</p>
<p><a href="http://xfuxing.com/2010/the-sun-where-are-you.html">Simple happiness</a></p>
<h3  class="related_post_title">您可能感兴趣的文章</h3><ul class="related_post"><li>2010年09月9日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you-3.html" title="太阳，你在哪里（三）">太阳，你在哪里（三）</a> (1)</li><li>2010年09月1日 -- <a href="http://xfuxing.com/2010/the-sun-where-are-you-2.html" title="太阳，你在哪里（二）">太阳，你在哪里（二）</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://xfuxing.com/2010/the-sun-where-are-you.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<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>
	</channel>
</rss>

