<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.shadowchao.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.shadowchao.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/shadowchao" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 20 Jul 2010 08:44:04 GMT</lastBuildDate><title>影子超博客</title><description>换一种态度生活</description><link>http://www.shadowchao.com/</link><language>zh-CN</language><copyright>Copyright ShadowChao. Some Rights Reserved. 粤ICP备10090355号var gaJsHost = ((&amp;quot;https:&amp;quot; == document.location.protocol) ? &amp;quot;https://ssl.&amp;quot; : &amp;quot;http://www.&amp;quot;);document.write(unescape(&amp;quot;%3Cscript src='&amp;quot; + gaJsHost + &amp;quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&amp;quot;));var pageTracker = _gat._getTracker(&amp;quot;UA-4871938-1&amp;quot;);pageTracker._initData();pageTracker._trackPageview();</copyright><pubDate>Tue, 20 Jul 2010 09:29:06 GMT</pubDate><item><title>[]operator not supported for strings错误</title><link>http://www.shadowchao.com/webbuild/2010-07-20/173/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=173</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=173&amp;key=d2446edf</trackback:ping><description>&lt;p&gt;今天在写代码的时候，很自然的用了一个 $files[] = xxx 数组赋值语句，结果总是报错：[] operator not supported for strings in...，看来看去也没发现问题，尝试将变量名更改了，居然就正常了。&lt;/p&gt;&lt;p&gt;再次检查，发现一包含文件中已经将$files作为字符串变量赋值，问题就出在这里了。当某变量已经被赋值后，就不能再使用$abc[]这种快速声明数组的方式为此变量重复赋值。而必须用标准的$abc = array() 方式进行声明，以改变原变量的类型。&lt;/p&gt;&lt;p&gt;所以之前出错的情况，我使用$files = array(xxx) 也同样正常了。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799684/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/webbuild/2010-07-20/173/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799684/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799684/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网站建设</category><pubDate>Tue, 20 Jul 2010 16:44:04 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/webbuild/2010-07-20/173/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/webbuild/2010-07-20/173/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/webbuild/2010-07-20/173/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799684/5186145</fs:itemid></item><item><title>Adobe Dreamweaver CS4许可证过期</title><link>http://www.shadowchao.com/pcmaintain/2010-06-04/172/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=172</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=172&amp;key=5174f966</trackback:ping><description>&lt;p&gt;一直正常使用中的Adobe Dreamweaver CS4，今天打开突然提示&amp;ldquo;许可证已过期&amp;rdquo;，无法启动程序。找了几种解决方法，最后用一个破解文件比较容易搞定，直接将此文件下载后覆盖安装目录中的原文件即可。&lt;/p&gt;&lt;p&gt;使用中发现，此破解文件可以通通解决Adobe CS4系列产品的&amp;ldquo;许可证过期&amp;rdquo;问题。包括像大家熟悉的Adobe Dreamweaver CS4、Adobe Flash CS4、Adobe Fireworks CS4、Adobe Photoshop CS4、Adobe Illustrator CS4等等。&lt;/p&gt;&lt;p&gt;[&lt;a target=&quot;_blank&quot; href=&quot;http://www.shadowchao.com/DOWNLOAD/amtlib.rar&quot;&gt;破解Adobe Dreamweaver CS4许可证过期文件下载&lt;/a&gt;]&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799685/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/pcmaintain/2010-06-04/172/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799685/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799685/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>电脑维护</category><pubDate>Fri, 04 Jun 2010 11:49:58 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/pcmaintain/2010-06-04/172/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/pcmaintain/2010-06-04/172/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/pcmaintain/2010-06-04/172/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799685/5186145</fs:itemid></item><item><title>电源故障，很明显我已经OUT了</title><link>http://www.shadowchao.com/pcmaintain/2010-06-02/171/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=171</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=171&amp;key=c86e9fa8</trackback:ping><description>&lt;p&gt;昨天我家那台老革命罢工了，折腾老半天都没让它缓过神来，老婆在一旁用犀利的眼神看着我，看得我很不自在，要知道在她眼中，我可是电脑高手啊，这点小毛病都搞不好，还混个屁啊，那压力，甭提多大了。&lt;/p&gt;&lt;p&gt;奇怪的症状是开机之后10秒钟即自动关机，似乎刚一工作就被卡住了。拔了内存，没反应，再拔了硬盘，还是没反应，再拔了显卡，总算有反应了。熟悉的嘟嘟声出来了，那是检测到内存故障的声音，于是把内存又插上，还是老样子。&lt;/p&gt;&lt;p&gt;反复几次之后发现，当只有CPU时，工作一切正常，虽然伴随有缺失内存的嘟嘟声，但没有自动停机现象，说明工作是正常的。但插上任何一个其它设备就又不行了。最终把目光转移到了电源身上，原来是电源坏了，出现供电不足而导致的问题，连电源风扇都根本没有转动，我居然没发现。-_-!!!&lt;/p&gt;&lt;p&gt;于是同老婆一起去买了个新电源回来，刚准备插上，发现这个新电源的D型头很大，根本插不进去。于是乎啥都没想，又直奔那个电脑店，准备让老板换个小D型头的电源。结果去到店里，人家接过电源，啥也没说，直接将那个大D型头的一侧滑动了一下，掰了一小部分下来，立刻就变成小D型头了。我那个囧啊~~~狂汗~~~，我真的是OUT了。&lt;/p&gt;&lt;p&gt;赶紧回家装上新电源，重新开机，一切正常。老婆抛来认可的眼神，我心里却很是郁闷啊~~~&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799686/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/pcmaintain/2010-06-02/171/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799686/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799686/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>电脑维护</category><pubDate>Wed, 02 Jun 2010 16:51:20 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/pcmaintain/2010-06-02/171/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/pcmaintain/2010-06-02/171/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/pcmaintain/2010-06-02/171/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799686/5186145</fs:itemid></item><item><title>影子超博客重新回归</title><link>http://www.shadowchao.com/othertalk/2010-05-26/170/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=170</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=170&amp;key=1a36f4cd</trackback:ping><description>&lt;p&gt;由于网站的备案问题没有处理好，网站被迫关闭了好几个月，今天终于可以重新开张了。^-^&lt;img alt=&quot;&quot; src=&quot;http://www.shadowchao.com/image/face/Grimace.gif&quot; /&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799687/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/othertalk/2010-05-26/170/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799687/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799687/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>侃侃杂谈</category><pubDate>Wed, 26 May 2010 17:49:17 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/othertalk/2010-05-26/170/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/othertalk/2010-05-26/170/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/othertalk/2010-05-26/170/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799687/5186145</fs:itemid></item><item><title>2010好运来</title><link>http://www.shadowchao.com/othertalk/2010-01-29/169/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=169</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=169&amp;key=04f689e4</trackback:ping><description>&lt;p&gt;时间过得很快啊，一晃就好几个月没有更新日志了，确实力不从心的感觉，有时候想起来写点什么，结果又懒得动，一搁就又忘了。&lt;/p&gt;&lt;p&gt;2010年了，又是一个新的开始，这个特别的年份里，承载着很重要的任务，所以是很关键的一年，加油我和我的同志们！&lt;/p&gt;&lt;p&gt;每年的这个时候订票回家是摆在像我一样的外漂一族的头疼事情。虽然今年实行了所谓的&amp;ldquo;实名制&amp;rdquo;，但还是未能解决根本问题。网上一搜索，仍然是大把大把的黄牛转票信息。虽然不敢说真的是有内鬼操作，但还是多少可以看出一些猫腻。这，就是我们的&amp;ldquo;国情&amp;rdquo;，无奈又如何？&lt;/p&gt;&lt;p&gt;不过可喜的是，我今年居然意外般的通过手机拔打进订票热线，出奇的订到了车票，确实有点意外，以至于当及联系所有朋友，告诉他们这个可喜的消息。连订到一张回家的车票都可以让自己乐成这样。呵呵。&lt;/p&gt;&lt;p&gt;在这里顺便分享一下，以往我订票都总是选择系统刚刚开通的时候，也就是早上7点。记得去年我更是6点多钟就赶去公司，把我办公桌周围4个同事的座机电话全部拉拢摆在一起，然后分别按好号码，刚到7点的时候，就展开了疯狂的重拔，不停的重拔。但一次又一次总是等来失望的繁忙嘟嘟音。我相信很多朋友也有类似的订票经历，真是郁闷。&lt;/p&gt;&lt;p&gt;今年我仍然也用同样的方法，并且还让朋友帮忙电话预订，同样没能成功。前天，晚上8：55，吃完晚饭后，我下意识的拿起手机拔通了订票电话，居然一切顺利的就订票成功了。奇怪，我当天早上拔通过去还提示说当日票已售完的，晚上反而还有票了，而且还轻易的打通。&lt;/p&gt;&lt;p&gt;总结原因，估计是一些订票忘了取票，退票之类的回流到系统里的票被捡了漏。不管怎么说，也算是一个技巧吧，所以也建议朋友们，早上大家都在抢拔，所以打进去的机率比中彩票还难，不妨其它时间，比如下午，晚上，没事的时候拔一拔，没准就轻松订到了呢。&lt;/p&gt;&lt;p&gt;也祝你们好运！^_^&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799688/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/othertalk/2010-01-29/169/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799688/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799688/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>侃侃杂谈</category><pubDate>Fri, 29 Jan 2010 11:35:01 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/othertalk/2010-01-29/169/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/othertalk/2010-01-29/169/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/othertalk/2010-01-29/169/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799688/5186145</fs:itemid></item><item><title>深圳通网上余额查询功能正式上线</title><link>http://www.shadowchao.com/shenzhentaste/2009-09-07/168/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=168</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=168&amp;key=0636d65a</trackback:ping><description>&lt;p&gt;今天无意中去到深圳通公司网站，发现已经开通了余额查询功能。今年2月份的时候曾写了一篇文章对深圳通公司发泄了一通，希望其尽快推出网上余额查询功能，方便用户管理。&lt;/p&gt;&lt;p&gt;一晃半年又过去了，现在总算看到了。至于那篇文章是不是起了助推的作用，那就不得而知了，呵呵。&lt;/p&gt;&lt;p&gt;根据我查询测试后发现，由于刷卡机和深圳通公司的网络并没有实现联网，所以并不能查询到即时的金额数。比如我今天查询，只能查询到截止2009-09-05的余额数据。看来深圳通公司是2天汇总一次所有可以消费深圳通的数据源。大家可以去查查看。&lt;/p&gt;&lt;p&gt;深圳通网上余额查询地址：&lt;a href=&quot;http://121.15.13.49:8080/sztnet/qrycard.jsp&quot;&gt;http://121.15.13.49:8080/sztnet/qrycard.jsp&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799689/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/shenzhentaste/2009-09-07/168/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799689/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799689/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我看深圳</category><pubDate>Mon, 07 Sep 2009 11:33:23 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/shenzhentaste/2009-09-07/168/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/shenzhentaste/2009-09-07/168/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/shenzhentaste/2009-09-07/168/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799689/5186145</fs:itemid></item><item><title>你有在用bing(必应)吗？</title><link>http://www.shadowchao.com/seo/2009-08-13/167/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=167</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=167&amp;key=b0fe3b52</trackback:ping><description>&lt;p&gt;最近网站猛的一下多了好些流量，经查看分析才发现原来多出来的流量基本都是来自电信的114搜索。大家都知道114通过霸王劫持行为，活生生的抢占搜索市场。&lt;/p&gt;&lt;p&gt;以前网站在114的排名基本无从谈起，也没流量进来，所以很少关注，但最近却发现有越来越多的流量从114进来。仔细一瞧，原来114已经换主了，现在使用了微软前段时间发布的bing(必应)搜索引擎数据，难怪会出现这样的情况。看来微软这次真是出了一击重拳，花大力气挑战google。&lt;/p&gt;&lt;p&gt;其实从bing(必应)的发布到现在，一直都有着不俗的表现。一方面从媒体报道中bing(必应)的市场占有率在不断的攀升，另一方面从自己的数据统计也看到确实是持续上升的趋势。&lt;/p&gt;&lt;p&gt;最近雅虎和微软的合作，更是有力证明了bing(必应)开始真正成为了google的威胁。随着雅虎搜索退出历史舞台，曾经的三足鼎立已经换了角色，现在新的三大搜索引擎变成了google,百度,bing(必应)。&lt;/p&gt;&lt;p&gt;但有意思的是，我到现在为止也没真正去使用过一次bing(必应)，只是刚发布的时候尝试了些关键词，发现排名和live搜索差不太多。当然，我相信bing(必应)并不是live的技术仅仅换一个外壳这么简单。至于它是不是用户真正喜爱的新的搜索引擎，还有待市场去考验，用户的感受是最真切的。&lt;/p&gt;&lt;p&gt;你有在用bing(必应)吗？&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799690/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/seo/2009-08-13/167/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799690/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799690/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>搜索引擎</category><pubDate>Thu, 13 Aug 2009 11:30:32 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/seo/2009-08-13/167/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/seo/2009-08-13/167/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/seo/2009-08-13/167/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799690/5186145</fs:itemid></item><item><title>解决require_once后顶部输出空白行问题</title><link>http://www.shadowchao.com/webbuild/2009-06-25/166/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=166</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=166&amp;key=0f3b4cee</trackback:ping><description>&lt;p&gt;最近两天都在解决一个烦恼的事情，显示好好的文件，只因为在其中加入了一个require_once代码包含了另一个文件，CSS显示出来的效果就走了样，愣是要在顶部多留出一条空白，无论怎么修改CSS都无济于事。这平白无故的留白是怎么来的？&lt;/p&gt;&lt;p&gt;不明白就Google吧，这一查，才知道是UTF-8中特有的BOM标记带来的困扰。对于这个BOM我还真是头一回知道，以前写代码总是用GB2312编码，所以也没出现这样的情况。对于BOM的解释，看看这段说明：&lt;/p&gt;&lt;blockquote&gt;&lt;div class=&quot;quote&quot;&gt;在UCS 编码中有一个叫做&quot;ZERO WIDTH NO-BREAK SPACE&quot;的字符，它的编码是FEFF。而FFFE在UCS中是不存在的字符，所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前，先传输字符&quot;ZERO WIDTH NO-BREAK SPACE&quot;。这样如果接收者收到FEFF，就表明这个字节流是Big-Endian的；如果收到FFFE，就表明这个字节流是Little-Endian的。因此字符&quot;ZERO WIDTH NO-BREAK SPACE&quot;又被称作BOM。更多了解请参见维基百科。&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;对于这个UTF-8特有的BOM标记，各种浏览器的处理方式不同，Firefox会忽略，而IE则会产生输出或者忽略一次。而输出的效果则是一个空行或者乱码。这刚好就解释了为什么我之前编辑好的文件（含有一个BOM标记）显示正常，当我使用require_once包含进另一个文件时，就产生了两个BOM标记，而浏览器只忽略第一个，第二个BOM标记则被作为空行被输出了。所以出现了明明正常的CSS样式，顶部却多了一个空白行。&lt;/p&gt;&lt;p&gt;Windows就是使用BOM来标记文本文件的编码方式的，所以如果用记事本编写代码，然后另存为UTF-8格式，文件头就会自动加入这个BOM标记。UTF-8编码的文件中，BOM占三个字节，标记值为EF BB BF。&lt;/p&gt;&lt;p&gt;问题是找到了，还得解决才行。网上有介绍说用editplus等专用编辑软件对文件进行另存为操作来删除BOM标记。如果一两个文件用这种方法处理还行，如果整个站成千上万的文件都这样处理恐怕就没人愿意了。&lt;/p&gt;&lt;p&gt;既然知道BOM的标记值为EF BB BF，那就可以写段代码批处理了，于是乎本人写下了如下清除UTF-8中BOM标记的代码：&lt;/p&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;?php&lt;br/&gt;//shadowchao.com&lt;br/&gt;&lt;br/&gt;$s=0;//统计成功数&lt;br/&gt;$f=0;//统计失败数&lt;br/&gt;&lt;br/&gt;//遍历所有文件&lt;br/&gt;function&amp;nbsp;find_allfile(){&lt;br/&gt;&amp;nbsp;&amp;nbsp;$i=&quot;*&quot;;&lt;br/&gt;&amp;nbsp;&amp;nbsp;while($file=glob($i)){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach($file&amp;nbsp;as&amp;nbsp;$s){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!is_dir($s))$allfile[]=$s;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$i.=&quot;\*&quot;;&lt;br/&gt;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$allfile;&lt;br/&gt;}&lt;br/&gt;//清除BOM标记&lt;br/&gt;function&amp;nbsp;del_bom(){&lt;br/&gt;&amp;nbsp;&amp;nbsp;global&amp;nbsp;$s,$f;&lt;br/&gt;&amp;nbsp;&amp;nbsp;$file=find_allfile();&lt;br/&gt;&amp;nbsp;&amp;nbsp;foreach($file&amp;nbsp;as&amp;nbsp;$fname){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$fname=dirname(__FILE__).&quot;\\&quot;.$fname;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$filecont=@file_get_contents($fname);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$bom=substr($filecont,0,3);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$bom=bin2hex($bom);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($bom==&quot;efbbbf&quot;){&amp;nbsp;//判断文件中的前3个字节是否为BOM标记值&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$filecont=substr($filecont,3);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$result=@file_put_contents($fname,$filecont,LOCK_EX);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($result){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&quot;[file]&amp;nbsp;$fname&amp;nbsp;---&amp;nbsp;---&amp;nbsp;&amp;lt;em&amp;nbsp;style=\&quot;color:green\&quot;&amp;gt;清除成功&amp;lt;/em&amp;gt;&amp;lt;br&amp;nbsp;/&amp;gt;&quot;;$s++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&quot;[file]&amp;nbsp;$fname&amp;nbsp;---&amp;nbsp;---&amp;nbsp;&amp;lt;em&amp;nbsp;style=\&quot;color:red\&quot;&amp;gt;清除失败&amp;lt;/em&amp;gt;（文件只读或者被占用）&amp;lt;br&amp;nbsp;/&amp;gt;&quot;;$f++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;del_bom();&lt;br/&gt;if($s==0&amp;nbsp;&amp;&amp;&amp;nbsp;$f==0){&lt;br/&gt;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&quot;&amp;lt;p&amp;gt;所有文件正常，没有发现BOM标记。&amp;lt;/p&amp;gt;&quot;;&lt;br/&gt;}else{&lt;br/&gt;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&quot;&amp;lt;p&amp;gt;统计结果：清除成功($s)&amp;nbsp;|&amp;nbsp;清除失败($f)&amp;lt;/p&amp;gt;&quot;;&lt;br/&gt;}&lt;br/&gt;?&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;清除效果如下图所示：&lt;/p&gt;&lt;img onload=&quot;ResizeImage(this,500)&quot; src=&quot;http://www.shadowchao.com/upload/2009/6/200906251510094011.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;p&gt;经过测试，效果还是相当不错，清除这个BOM标记之后，我的CSS样式总算又恢复正常了。欢迎有需要的朋友测试，如有疑问请指正，谢谢！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799691/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/webbuild/2009-06-25/166/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799691/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799691/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网站建设</category><pubDate>Thu, 25 Jun 2009 14:13:20 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/webbuild/2009-06-25/166/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/webbuild/2009-06-25/166/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/webbuild/2009-06-25/166/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799691/5186145</fs:itemid></item><item><title>PHP最简单的遍历所有目录和文件的方法</title><link>http://www.shadowchao.com/webbuild/2009-06-24/165/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=165</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=165&amp;key=6103179f</trackback:ping><description>&lt;p&gt;我总是觉得PHP用来遍历目录和文件还挺麻烦的，要用到好几个内置函数经过一系列判断才能达到目的，心里总觉得有那么不爽。今天给大家分享一段我写的最简单的实现遍历所有目录和文件的方法。&lt;/p&gt;&lt;p&gt;没有用传统方式的opendir,readdir之类的函数，仅用到了PHP的内置glob函数。此函数支持PHP4.3以上版本。手册上的描述是：寻找与模式匹配的文件路径，glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径，类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。&lt;/p&gt;&lt;p&gt;如何？很帅的一个函数吧，有了它，仅用8行代码实现遍历当前目录下的所有目录和文件。示例代码如下：&lt;/p&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;?php&lt;br/&gt;//shadowchao.com&lt;br/&gt;&lt;br/&gt;$i=&quot;*&quot;;&lt;br/&gt;while($file=glob($i)){&lt;br/&gt;&amp;nbsp;&amp;nbsp;foreach($file&amp;nbsp;as&amp;nbsp;$s){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$t=is_dir($s)&amp;nbsp;?&amp;nbsp;&quot;[dir]&amp;nbsp;$s&amp;lt;br&amp;nbsp;/&amp;gt;&quot;&amp;nbsp;:&amp;nbsp;&quot;[file]&amp;nbsp;$s&amp;lt;br&amp;nbsp;/&amp;gt;&quot;;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;$t;&lt;br/&gt;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;$i.=&quot;/*&quot;;&lt;br/&gt;}&lt;br/&gt;?&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;以上输出中的[dir]即表示文件夹，[file]即表示文件。注意，遍历的是当前目录下的所有目录和文件，要遍历整个站点，把这个文件放在根目录就行啦！^_^&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799692/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/webbuild/2009-06-24/165/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799692/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799692/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网站建设</category><pubDate>Wed, 24 Jun 2009 23:43:05 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/webbuild/2009-06-24/165/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/webbuild/2009-06-24/165/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/webbuild/2009-06-24/165/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799692/5186145</fs:itemid></item><item><title>CSS两列自适应宽度布局</title><link>http://www.shadowchao.com/webbuild/2009-06-23/164/</link><wfw:comment>http://www.shadowchao.com/</wfw:comment><wfw:commentRss>http://www.shadowchao.com/feed.asp?cmt=164</wfw:commentRss><trackback:ping>http://www.shadowchao.com/cmd.asp?act=tb&amp;id=164&amp;key=991dfe3d</trackback:ping><description>&lt;p&gt;今天在做一个后台界面设计，折腾出了一个最简单的左右两列自适应宽度布局方法，当然不是table，而是严格符合W3C标准的CSS布局。&lt;/p&gt;&lt;p&gt;这里说的两列自适应，其实是其中一列固定宽度，而让另一列自适应浏览器窗口变化。方法是让其中一列设定固定宽度，然后浮动，再设定另一列的外边距，大小和固定列的宽度相等即可。&lt;/p&gt;&lt;p&gt;示例代码如下：&lt;/p&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;DIV结构：&lt;br/&gt;&lt;br/&gt;&amp;lt;div&amp;nbsp;id=&quot;sidebar&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br/&gt;&amp;lt;div&amp;nbsp;id=&quot;content&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br/&gt;&lt;br/&gt;CSS样式：&lt;br/&gt;&lt;br/&gt;//左列固定宽度，右列自适应&lt;br/&gt;&lt;br/&gt;#sidebar{width:180px;float:left;}&lt;br/&gt;#content{margin-left:180px;}&lt;br/&gt;&lt;br/&gt;//右列固定宽度，左列自适应&lt;br/&gt;&lt;br/&gt;#sidebar{width:180px;float:right;}&lt;br/&gt;#content{margin-right:180px;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;呵呵，是不是超级简单啊，当然这是实现的基本原型，你也可以再加上head,foot部分，丰富这个原型框架。^_^&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/393799693/shadowchao/feedsky/s.gif?r=http://www.shadowchao.com/webbuild/2009-06-23/164/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/shadowchao/393799693/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/shadowchao/393799693/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网站建设</category><pubDate>Tue, 23 Jun 2009 17:31:20 +0800</pubDate><author>superl3c@163.com (影子超)</author><comments>http://www.shadowchao.com/webbuild/2009-06-23/164/#comment</comments><guid isPermaLink="false">http://www.shadowchao.com/webbuild/2009-06-23/164/</guid><dc:creator>superl3c@163.com (影子超)</dc:creator><fs:srclink>http://www.shadowchao.com/webbuild/2009-06-23/164/</fs:srclink><fs:srcfeed>http://www.shadowchao.com/rss.xml</fs:srcfeed><fs:itemid>feedsky/shadowchao/~7077839/393799693/5186145</fs:itemid></item></channel></rss>