<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.ccvita.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:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0"><channel><atom:link href="http://feed.ccvita.com" type="application/rss+xml" ref="self"></atom:link><fs:self_link href="http://feed.feedsky.com/ccvita" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 21 Jul 2008 14:24:22 GMT</lastBuildDate><title>平凡的世界</title><description>低调,做人一定要低调,尤其是想做鸟人</description><image><url>http://www.feedsky.com/feed/ccvita/sc/gif</url><title>平凡的世界</title><link>http://www.ccvita.com</link></image><link>http://www.ccvita.com</link><language>en</language><pubDate>Mon, 21 Jul 2008 15:14:38 GMT</pubDate><dc:date>2008-07-21T15:14:38Z</dc:date><dc:language>en</dc:language><item><title>PclZip:强大的PHP压缩与解压缩zip类</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679383/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;PclZip简介&lt;/strong&gt;&lt;br /&gt;
PclZip是一个很强大的压缩与解压缩zip文件的PHP类，PclZip library能够压缩与解压缩Zip格式的压缩档（WinZip、PKZIP）；且能对此类类档案进行处理，包括产生压缩档、列出压缩档的内容以及解压缩档案等等。&lt;/p&gt;
&lt;p&gt;简单、易用、强大是我对它的评价。&lt;/p&gt;
&lt;p&gt;最近在开发我的Wordpress插件ShareLink，在这过程中，发现了PclZip这个操作zip文件的PHP类，不得不推荐下。&lt;/p&gt;
&lt;p&gt;还有另外一个推荐的原因就是在它的源码里面让我发现了一个PHP函数参数的淫荡用法。下面将举例说明。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;生成zip文件&lt;/strong&gt;&lt;br /&gt;
用法一：&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-330&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?php&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$v_list = $archive-&amp;gt;create('file.txt,data/text.txt,folder');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($v_list == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;用法二：&lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?php&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$v_list = $archive-&amp;gt;create('data/file.txt,data/text.txt',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PCLZIP_OPT_REMOVE_PATH, 'data',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PCLZIP_OPT_ADD_PATH, 'install');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($v_list == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;看见create方法的参数没有，再看看方法原型你就知道如何淫荡了。至少我还没有这样用过。&lt;/p&gt;
&lt;p&gt;相关文档：&lt;br /&gt;
&lt;a href=&quot;http://www.phpconcept.net/pclzip/index.php&quot;&gt;PclZip官方地址&lt;/a&gt;：http://www.phpconcept.net/pclzip/index.php&lt;br /&gt;
&lt;a href=&quot;www.phpconcept.net/pclzip/man/en/index.php&quot;&gt;PclZip手册地址&lt;/a&gt;：www.phpconcept.net/pclzip/man/en/index.php&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/10.html&quot;&gt;PEAR类创建ZIP档案文件&lt;/a&gt;：http://www.ccvita.com/10.html&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/59.html&quot;&gt;PclZip简介与使用&lt;/a&gt;：http://www.ccvita.com/59.html&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/330.html&quot;&gt;PclZip:强大的PHP压缩与解压缩zip类&lt;/a&gt;：http://www.ccvita.com/330.html&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/330.html/feed</wfw:commentRss><description>PclZip简介
PclZip是一个很强大的压缩与解压缩zip文件的PHP类，PclZip library能够压缩与解压缩Zip格式的压缩档（WinZip、PKZIP）；且能对此类类档案进行处理，包括产生压缩档、列出压缩档的内容以及解压缩档案等等。
简单、易用、强大是我对它的评价。
最近在开发我的Wordpress插件ShareLink，在这过程中，发现了PclZip这个操作zip文件的PHP类，不得不推荐下。
还有另外一个推荐的原因就是在它的源码里面让我发现了一个PHP函数参数的淫荡用法。下面将举例说明。
生成zip文件
用法一：

&amp;#60; ?php&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;include_once('pclzip.lib.php');&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;$archive = new PclZip('archive.zip');&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;$v_list = $archive-&amp;#62;create('file.txt,data/text.txt,folder');&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;if ($v_list == 0) {&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;die(&amp;#34;Error : &amp;#34;.$archive-&amp;#62;errorInfo(true));&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;}?&amp;#62;
用法二：
&amp;#60; ?php&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;include_once('pclzip.lib.php');&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;$archive = new PclZip('archive.zip');&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;$v_list = $archive-&amp;#62;create('data/file.txt,data/text.txt',&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [...]</description><category>ZIP</category><category>PHP技术</category><category>PclZip</category><category>PHP类</category><pubDate>Mon, 21 Jul 2008 22:24:22 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/330.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=330</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/330.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679383/4055977</fs:itemid></item><item><title>《平凡的世界》路遥</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679384/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;特别说明&lt;/strong&gt;&lt;br /&gt;
一直以来，我的blog主站的标题就是平凡的世界，但是实际上很多搜索来的朋友是为了寻找路遥的名著《&lt;strong&gt;平凡的世界&lt;/strong&gt;》，导致站点内容和流量目的不统一，被百度和google同时在“平凡的世界”这个关键词上给了不同程度的降权。现在将该书内容加上，希望因此而来的朋友能够有所收获。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;平凡的世界&lt;/strong&gt;&lt;br /&gt;
《&lt;a href=&quot;http://www.ccvita.com/pingfandeshijie/&quot;&gt;平凡的世界&lt;/a&gt;》是一部现实主义小说，也是小说化的家族史。作家高度浓缩了中国西北农村的历史变迁过程，作品达到了思想性与艺术性的高度统一，特别是主人公面对困境艰苦奋斗的精神，对今天的大学生朋友仍有启迪。&lt;/p&gt;
&lt;p&gt;这是一部全景式地表现中国当代城乡社会生活的长篇小说。全书共三部。作者在近十年问广阔背景上，通过复杂的矛盾纠葛，刻划了社会各阶层众多普通人的形象。劳动与爱情，挫折与追求，痛苦与欢乐，日常生活与巨大社会冲突，纷繁地交织在一起，深刻地展示了普通人在大时代历史进程中所走过的艰难曲折的道路。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-323&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;作者简介&lt;/strong&gt;&lt;br /&gt;
路遥（1949年-1992年）：陕西清涧人。1973年入延安大学中文系学习。1976年大学毕业后，先后在《陕西文艺》和《延河》杂志做编辑工作。曾任陕西省作家协会副主席。1978年开始发表作品。著有长篇小说《平凡的世界》，中篇小说《惊心动魄的一幕》《人生》等。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/323.html/feed</wfw:commentRss><description>特别说明
一直以来，我的blog主站的标题就是平凡的世界，但是实际上很多搜索来的朋友是为了寻找路遥的名著《平凡的世界》，导致站点内容和流量目的不统一，被百度和google同时在“平凡的世界”这个关键词上给了不同程度的降权。现在将该书内容加上，希望因此而来的朋友能够有所收获。
平凡的世界
《平凡的世界》是一部现实主义小说，也是小说化的家族史。作家高度浓缩了中国西北农村的历史变迁过程，作品达到了思想性与艺术性的高度统一，特别是主人公面对困境艰苦奋斗的精神，对今天的大学生朋友仍有启迪。
这是一部全景式地表现中国当代城乡社会生活的长篇小说。全书共三部。作者在近十年问广阔背景上，通过复杂的矛盾纠葛，刻划了社会各阶层众多普通人的形象。劳动与爱情，挫折与追求，痛苦与欢乐，日常生活与巨大社会冲突，纷繁地交织在一起，深刻地展示了普通人在大时代历史进程中所走过的艰难曲折的道路。

作者简介
路遥（1949年-1992年）：陕西清涧人。1973年入延安大学中文系学习。1976年大学毕业后，先后在《陕西文艺》和《延河》杂志做编辑工作。曾任陕西省作家协会副主席。1978年开始发表作品。著有长篇小说《平凡的世界》，中篇小说《惊心动魄的一幕》《人生》等。</description><category>书</category><category>平凡的世界</category><category>杂七杂八</category><category>路遥</category><pubDate>Fri, 18 Jul 2008 23:40:44 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/323.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=323</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/323.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679384/4055977</fs:itemid></item><item><title>IE与Firefox中Cookie域的不同</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679385/4055977/1/item.html</link><content:encoded>&lt;p&gt;前一段在做一个项目时，遇到了这个问题，在feed.ccvita.com下存在一个名为ABC的cookie,&lt;br /&gt;
同时在.ccvita.com父域下也存在同名的ABC的cookie。在读取ABC时，在IE和Firefox中出现了不同的结果。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;情况分析&lt;/strong&gt;：&lt;br /&gt;
.ccvita.com父域下的页面读取cookie的情况是：&lt;br /&gt;
1.在IE中，会将子域的cookie和父域的cookie合并在一起读出。&lt;/p&gt;
&lt;p&gt;2.在Firefox中，如果有本域(ccvita.com)的ABC存在，会优先读本域(ccvita.com)的ABC的内容 ，而不读子域(feed.ccvita.com)的ABC的内容。&lt;/p&gt;
&lt;p&gt;3.在Firefox中，如果没有本域(ccvita.com)的ABC存在，才会读子域(&lt;a href=&quot;http://feed.ccvita.com&quot;&gt;feed.ccvita.com&lt;/a&gt;)的ABC的内容。&lt;/p&gt;
&lt;p&gt;4.在Firefox中，feed.ccvita.com子域下的页面读取cookie的情况规则相同，feed.ccvita.com子域的ABC优先读取，IE合并读取；Firefox优先读取本域，只读一个。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-328&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结一下&lt;/strong&gt;，也就是说在IE下会将Cookie合并输出，但是Firefox会优先输出本域下的Cookie。这个情况我去年碰到过，像我前段时间碰到的《&lt;a href=&quot;http://www.ccvita.com/316.html&quot;&gt;Apache中Cookie长度的设置&lt;/a&gt;》：http://www.ccvita.com/316.html问题，都是不容易被人注意的技术细节，但是一旦碰到了，又会让人比较郁闷。&lt;/p&gt;
&lt;p&gt;&lt;del datetime=&quot;2008-07-14T12:56:44+00:00&quot;&gt;本文转载自&lt;a href=&quot;http://www.yuiblog.cn&quot;&gt;YUI Blog China&lt;/a&gt;，由于找不到文章具体链接，只有给加上根域名链接了。&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;Update:感谢Fenng的提醒，发现右侧有文章链接。&lt;a href=&quot;http://www.yuiblog.cn/2008/03/26/cookie-在ie与firefox中域的不同处理/&quot;&gt;cookie-在ie与firefox中域的不同处理&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/328.html/feed</wfw:commentRss><description>前一段在做一个项目时，遇到了这个问题，在feed.ccvita.com下存在一个名为ABC的cookie,
同时在.ccvita.com父域下也存在同名的ABC的cookie。在读取ABC时，在IE和Firefox中出现了不同的结果。
情况分析：
.ccvita.com父域下的页面读取cookie的情况是：
1.在IE中，会将子域的cookie和父域的cookie合并在一起读出。
2.在Firefox中，如果有本域(ccvita.com)的ABC存在，会优先读本域(ccvita.com)的ABC的内容 ，而不读子域(feed.ccvita.com)的ABC的内容。
3.在Firefox中，如果没有本域(ccvita.com)的ABC存在，才会读子域(feed.ccvita.com)的ABC的内容。
4.在Firefox中，feed.ccvita.com子域下的页面读取cookie的情况规则相同，feed.ccvita.com子域的ABC优先读取，IE合并读取；Firefox优先读取本域，只读一个。

总结一下，也就是说在IE下会将Cookie合并输出，但是Firefox会优先输出本域下的Cookie。这个情况我去年碰到过，像我前段时间碰到的《Apache中Cookie长度的设置》：http://www.ccvita.com/316.html问题，都是不容易被人注意的技术细节，但是一旦碰到了，又会让人比较郁闷。
本文转载自YUI Blog China，由于找不到文章具体链接，只有给加上根域名链接了。
Update:感谢Fenng的提醒，发现右侧有文章链接。cookie-在ie与firefox中域的不同处理</description><category>Cookie</category><category>FireFox</category><category>兼容性</category><category>综合技术</category><category>IE</category><pubDate>Mon, 14 Jul 2008 01:23:14 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/328.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=328</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/328.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679385/4055977</fs:itemid></item><item><title>PclZip简介与使用</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679387/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;PclZip介绍&lt;/strong&gt;&lt;br /&gt;
PclZip library能够压缩与解压缩Zip格式的压缩档（WinZip、PKZIP）；且能对此类类档案进行处理，包括产生压缩档、列出压缩档的内容以及解压缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作，所以相当方便使用。&lt;br /&gt;
PclZip定义一个PclZip类别，其类别物件可视为一个ZIP档案，亦提供method来进行处理。 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如何使用PclZip&lt;/strong&gt;&lt;br /&gt;
1.基础&lt;br /&gt;
所有的功能都由pclzip.lib.php这个档案提供，PclZip library可于其首页(www.phpconcept.net/pclzip/index.en.php)下载。所有的PKZIP档案其实就是一个PclZip的类别物件。当产生一个PclZip档案（ie, PclZip类别物件），就会先产生一个压缩档，且档名已经指定，但此压缩档的内容尚未存在： &lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; require_once('pclzip.lib.php'); &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $archive = new PclZip(&amp;quot;archive.zip&amp;quot;); &lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;此物件提供了一些public method可用来处理此档案。 &lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-59&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;2.参数&lt;br /&gt;
每一个method有其各自可使用的参数，包括有必须与非必须的参数： &lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; require_once('pclzip.lib.php'); &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $archive = new PclZip('archive.zip'); &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $v_list = $archive-&amp;gt;add('dev/file.txt', &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PCLZIP_OPT_REMOVE_PATH, 'dev'); &lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;上例中的&amp;#8217;dev/file.txt&amp;#8217;就是必须参数；&amp;#8217;PCLZIP_OPT_REMOVE_PATH&amp;#8217;则为非必须参数。当然有些method也可以只包含非必须的参数： &lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $list = $archive-&amp;gt;extract(PCLZIP_OPT_PATH, &amp;quot;folder&amp;quot;, &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PCLZIP_OPT_REMOVE_PATH, &amp;quot;data&amp;quot;, &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PCLZIP_CB_PRE_EXTRACT, &amp;quot;callback_pre_extract&amp;quot;,); &lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;上例中原本压缩档内档案存放的路径为/data，不过你可以指定解压缩至/folder中。此外，在解压缩之前，会呼叫callback function（&amp;#8217;callback_pre_extract()&amp;#8217;），此function可让使用者在解压缩的过程中变更档案存放路径与档名，或是选择某些档案不解压缩。&lt;br /&gt;
所有可用的非必要参数可参考网址(www.phpconcept.net/pclzip/man/en/index.php)。 &lt;/p&gt;
&lt;p&gt;3.回传值&lt;br /&gt;
每个method所回传的值可能会不同，将会在每个method中说明。不过大部分的method回传0、error或是阵列。 &lt;/p&gt;
&lt;p&gt;4.错误处理&lt;br /&gt;
从版本1.3之后，错误处理已经整合至PclZip类别中，当一个method回传错误码，可以得知一些额外的讯息以方便错误处理：&lt;br /&gt;
    * errorName()：回传错误名称&lt;br /&gt;
    * errorCode()：回传错误码&lt;br /&gt;
    * errorInfo()：回传错误的描述 &lt;/p&gt;
&lt;p&gt;接下来会举几个例子来说明如何使用PclZip。 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PclZip实例1、产生ZIP压缩档 &lt;/strong&gt;&lt;br /&gt;
PclZip($zipname)：为PclZip constructor，$zipname为PKZIP压缩档的档名。&lt;br /&gt;
主要是产生一个PclZip物件，即一个PKZIP压缩档；但此时，只有压缩档产生出来，并做一些检查（例如是否有开启zlib extension&amp;#8230;等），除此之外，并没有做其他动作。&lt;br /&gt;
create($filelist, [optional arguments list])：将参数$filelist指定的档案或目录（包含当中所有档案与子目录）加入上述所产生的压缩档中。&lt;br /&gt;
而非必要的参数则能够修改压缩档内的档案存放路径。&lt;br /&gt;
此method可用的参数可以参考网志(www.phpconcept.net/pclzip/man/en/index.php)。 &lt;/p&gt;
&lt;p&gt;下面的示例说明如何产生PKZIP压缩档(档名为archive.zip)，并将file.txt、data/text.txt以及目录folder(包含当中的档案与子目录)加入刚刚产生的archive.zip中：&lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$v_list = $archive-&amp;gt;create('file.txt,data/text.txt,folder');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($v_list == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;下面的示例说明基本上与上例一样产生archive.zip，但在将file.txt与text.txt压缩于其中时，将路径由data/改为install/ ；因此，在archive.zip中这两个档案的路径会是install/file.txt与install/text.txt&lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$v_list = $archive-&amp;gt;create('data/file.txt,data/text.txt',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PCLZIP_OPT_REMOVE_PATH, 'data',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PCLZIP_OPT_ADD_PATH, 'install');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($v_list == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;PclZip实例2、列出压缩档内容 &lt;/strong&gt;&lt;br /&gt;
listContent( ) ：列出压缩档中的内容，包括档案的属性与目录： &lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$zip = new PclZip(&amp;quot;test.zip&amp;quot;);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (($list = $zip-&amp;gt;listContent()) == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$zip-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for ($i=0; $i&amp;lt;sizeof ($list); $i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(reset($list[$i]); $key = key($list[$i]); next($list[$i])) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &amp;quot;File $i / [$key] = &amp;quot;.$list[$i][$key].&amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&amp;lt;/sizeof&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;上例将会回传结果：&lt;br /&gt;
File 0 / [filename] = data/file1.txt&lt;br /&gt;
    File 0 / [stored_filename] = data/file1.txt&lt;br /&gt;
    File 0 / [size] = 53&lt;br /&gt;
    File 0 / [compressed_size] = 36&lt;br /&gt;
    File 0 / [mtime] = 1010440428&lt;br /&gt;
    File 0 / [comment] =&lt;br /&gt;
    File 0 / [folder] = 0&lt;br /&gt;
    File 0 / [index] = 0&lt;br /&gt;
    File 0 / [status] = ok&lt;/p&gt;
&lt;p&gt;    File 1 / [filename] = data/file2.txt&lt;br /&gt;
    File 1 / [stored_filename] = data/file2.txt&lt;br /&gt;
    File 1 / [size] = 54&lt;br /&gt;
    File 1 / [compressed_size] = 53&lt;br /&gt;
    File 1 / [mtime] = 1011197724&lt;br /&gt;
    File 1 / [comment] =&lt;br /&gt;
    File 1 / [folder] = 0&lt;br /&gt;
    File 1 / [index] = 1&lt;br /&gt;
    File 1 / [status] = ok&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PclZip实例3、解压缩档案&lt;/strong&gt;&lt;br /&gt;
extract([options list]) ：解压缩PKZIP中的档案或目录。&lt;br /&gt;
[options list]可用的参数可参考网址(www.phpconcept.net/pclzip/man/en/index.php)。这些参数能让使用者在解压缩的时候有更多的选项，譬如指定变更解压缩档案的路径、指定只解压缩某些档案或不解压缩某些档案或者是将档案解压缩成字串输出(可用于readme档)。&lt;/p&gt;
&lt;p&gt;下例是一个简单的解压缩档案示例，将压缩档archive.zip内的档案解压缩至目前的目录： &lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;require_once('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($archive-&amp;gt;extract() == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;下例是进阶的解压缩档案使用，archive.zip中所有档案都解压缩于data/中，而特别指明在install/release中的所有档案也直接丢于data/中，而非data/install/ release：&lt;/p&gt;
&lt;div class=&quot;hl-surround&quot;&gt;&lt;div class=&quot;hl-main&quot;&gt;&amp;lt; ?PHP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include('pclzip.lib.php');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$archive = new PclZip('archive.zip');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($archive-&amp;gt;extract(PCLZIP_OPT_PATH, 'data',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PCLZIP_OPT_REMOVE_PATH, 'install/release') == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;相关文档：&lt;br /&gt;
&lt;a href=&quot;http://www.phpconcept.net/pclzip/index.php&quot;&gt;PclZip官方地址&lt;/a&gt;：http://www.phpconcept.net/pclzip/index.php&lt;br /&gt;
&lt;a href=&quot;www.phpconcept.net/pclzip/man/en/index.php&quot;&gt;PclZip手册地址&lt;/a&gt;：www.phpconcept.net/pclzip/man/en/index.php&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/10.html&quot;&gt;PEAR类创建ZIP档案文件&lt;/a&gt;：http://www.ccvita.com/10.html&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/59.html&quot;&gt;PclZip简介与使用&lt;/a&gt;：http://www.ccvita.com/59.html&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/330.html&quot;&gt;PclZip:强大的PHP压缩与解压缩zip类&lt;/a&gt;：http://www.ccvita.com/330.html&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/59.html/feed</wfw:commentRss><description>PclZip介绍
PclZip library能够压缩与解压缩Zip格式的压缩档（WinZip、PKZIP）；且能对此类类档案进行处理，包括产生压缩档、列出压缩档的内容以及解压缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作，所以相当方便使用。
PclZip定义一个PclZip类别，其类别物件可视为一个ZIP档案，亦提供method来进行处理。 
如何使用PclZip
1.基础
所有的功能都由pclzip.lib.php这个档案提供，PclZip library可于其首页(www.phpconcept.net/pclzip/index.en.php)下载。所有的PKZIP档案其实就是一个PclZip的类别物件。当产生一个PclZip档案（ie, PclZip类别物件），就会先产生一个压缩档，且档名已经指定，但此压缩档的内容尚未存在： 
&amp;#60; ?PHP &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; require_once('pclzip.lib.php'); &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; $archive = new PclZip(&amp;#34;archive.zip&amp;#34;); ?&amp;#62;
此物件提供了一些public method可用来处理此档案。 

2.参数
每一个method有其各自可使用的参数，包括有必须与非必须的参数： 
&amp;#60; ?PHP &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; require_once('pclzip.lib.php'); &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; $archive = new PclZip('archive.zip'); &amp;#160; &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; $v_list = $archive-&amp;#62;add('dev/file.txt', &amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [...]</description><category>ZIP</category><category>PHP技术</category><category>PclZip</category><category>PHP类</category><pubDate>Sat, 12 Jul 2008 19:49:11 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/59.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=59</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/59.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679387/4055977</fs:itemid></item><item><title>支付宝安全问题？测试数据？</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679386/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;前言&lt;/strong&gt;&lt;br /&gt;
继前段时间闹的火热的支付宝安全控件漏洞和帐户异常问题之后，笔者又在网上购物用支付宝充值的过程中，偶然之间发现在支付宝的支付成功提示页面出现部分细节代码。这不禁让笔者生疑，是支付宝内部测试数据，还是支付宝的安全隐患。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;详细情况&lt;/strong&gt;&lt;br /&gt;
支付宝完成支付界面，包括“直接向陌生人转账”、“亲朋好友转账”、“给他们充值”三种方式，他们最终付款成功页面均会出现一行和背景色同为白色的隐藏URL地址。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实例图片演示&lt;/strong&gt;&lt;br /&gt;
一般情况下支付完成界面如下：（&lt;em&gt;点击图片查看大图&lt;/em&gt;）&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-327&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ccvita.com/wp-content/uploads/2008/zhifubao/00.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.ccvita.com/wp-content/uploads/2008/zhifubao/00-thumb.jpg&quot; alt=&quot;支付宝完成界面&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;当鼠标全选之后，我们会发现如下界面：（&lt;em&gt;点击图片查看大图&lt;/em&gt;）&lt;br /&gt;
&lt;a href=&quot;http://www.ccvita.com/wp-content/uploads/2008/zhifubao/01.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.ccvita.com/wp-content/uploads/2008/zhifubao/01-thumb.jpg&quot; alt=&quot;支付宝问题界面&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
在红色标注的地方，出现的字符串如下：&lt;br /&gt;
&lt;strong&gt;http://newpoint.test6.net/cmbcatong/cmb_catong_get_award.htm?userId=3VrcISZI7F0w%2FtAwSZeDLAZxLRiMudNHTJiIvXb%2Fjlw%3D&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;事件评价&lt;/strong&gt;&lt;br /&gt;
cocoruder曾经向阿里巴巴报了一个&lt;strong&gt;淘宝旺旺ActiveX控件溢出漏洞&lt;/strong&gt;，随后又爆出&lt;strong&gt;支付宝登陆控件代码执行漏洞&lt;/strong&gt;，明眼人似乎可以看出阿里集团对此事的掩盖。我也深表理解，换做是我，我也会试图掩盖此事。毕竟作为国内最大的支付平台需要给普通使用者足够的安全概念，一次可能的安全隐患如果被竞争对手利用，后果不堪设想。&lt;/p&gt;
&lt;p&gt;而本次&lt;strong&gt;支付宝支付完成界面代码&lt;/strong&gt;问题，也期待支付宝官方发表说明。希望它只是程序员的调试代码，而不是支付宝被入侵留下的痕迹。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/327.html/feed</wfw:commentRss><description>前言
继前段时间闹的火热的支付宝安全控件漏洞和帐户异常问题之后，笔者又在网上购物用支付宝充值的过程中，偶然之间发现在支付宝的支付成功提示页面出现部分细节代码。这不禁让笔者生疑，是支付宝内部测试数据，还是支付宝的安全隐患。
详细情况
支付宝完成支付界面，包括“直接向陌生人转账”、“亲朋好友转账”、“给他们充值”三种方式，他们最终付款成功页面均会出现一行和背景色同为白色的隐藏URL地址。
实例图片演示
一般情况下支付完成界面如下：（点击图片查看大图）


当鼠标全选之后，我们会发现如下界面：（点击图片查看大图）

在红色标注的地方，出现的字符串如下：
http://newpoint.test6.net/cmbcatong/cmb_catong_get_award.htm?userId=3VrcISZI7F0w%2FtAwSZeDLAZxLRiMudNHTJiIvXb%2Fjlw%3D
事件评价
cocoruder曾经向阿里巴巴报了一个淘宝旺旺ActiveX控件溢出漏洞，随后又爆出支付宝登陆控件代码执行漏洞，明眼人似乎可以看出阿里集团对此事的掩盖。我也深表理解，换做是我，我也会试图掩盖此事。毕竟作为国内最大的支付平台需要给普通使用者足够的安全概念，一次可能的安全隐患如果被竞争对手利用，后果不堪设想。
而本次支付宝支付完成界面代码问题，也期待支付宝官方发表说明。希望它只是程序员的调试代码，而不是支付宝被入侵留下的痕迹。</description><category>安全</category><category>支付宝</category><category>杂七杂八</category><pubDate>Sat, 12 Jul 2008 17:05:04 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/327.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=327</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/327.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679386/4055977</fs:itemid></item><item><title>打开MySQL的慢查询记录</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679388/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;打开MySQL慢查询&lt;/strong&gt;&lt;br /&gt;
MySQL慢查询记录日志对于跟踪PHP+MySQL体系下的MySQL负载调优问题很有用处，比如安装了很多Discuz!插件的用户，这样可以大概排查出那些插件有代码问题。其实启用MySQL的慢查询日志很简单,只需要在MySQL的配置文件里添加log-slow-queries和long_query_time两个参数即可。&lt;/p&gt;
&lt;p&gt;今天有个朋友问我，就顺带记录上来。更多的&lt;a href=&quot;http://www.ccvita.com/category/mysql&quot;&gt;MySQL&lt;/a&gt;优化信息可以查看这里：http://www.ccvita.com/category/mysql&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows下开启MySQL慢查询&lt;/strong&gt;&lt;br /&gt;
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上&lt;br /&gt;
&lt;span style=&quot;background-color:#cccccc;width:480px;&quot;&gt;log-slow-queries = F:\MySQL\log\mysqlslowquery.log&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color:#cccccc;width:480px;&quot;&gt;long_query_time = 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-326&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Linux下启用MySQL慢查询&lt;/strong&gt;&lt;br /&gt;
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上&lt;br /&gt;
&lt;span style=&quot;background-color:#cccccc;width:480px;&quot;&gt;log-slow-queries=/data/mysqldata/slowquery.log&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color:#cccccc;width:480px;&quot;&gt;long_query_time=2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;&lt;br /&gt;
log-slow-queries = F:\MySQL\log\mysqlslowquery.log为满查询日志存放的位置，一般这个目录要有MySQL的运行帐号的可写权限，一般都将这个目录设置为MySQL的数据存放目录；&lt;br /&gt;
long_query_time=2中的2表示查询超过两秒才记录；&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/326.html/feed</wfw:commentRss><description>打开MySQL慢查询
MySQL慢查询记录日志对于跟踪PHP+MySQL体系下的MySQL负载调优问题很有用处，比如安装了很多Discuz!插件的用户，这样可以大概排查出那些插件有代码问题。其实启用MySQL的慢查询日志很简单,只需要在MySQL的配置文件里添加log-slow-queries和long_query_time两个参数即可。
今天有个朋友问我，就顺带记录上来。更多的MySQL优化信息可以查看这里：http://www.ccvita.com/category/mysql
Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2

Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log为满查询日志存放的位置，一般这个目录要有MySQL的运行帐号的可写权限，一般都将这个目录设置为MySQL的数据存放目录；
long_query_time=2中的2表示查询超过两秒才记录；</description><category>MySQL优化</category><category>MySQL</category><pubDate>Thu, 10 Jul 2008 01:31:20 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/326.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=326</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/326.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679388/4055977</fs:itemid></item><item><title>Typecho内测进行中</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679389/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;Typecho是什么&lt;/strong&gt;？&lt;br /&gt;
曾经，有一个开源博客程序叫做&lt;a href=&quot;http://www.magike.org/&quot;&gt;Magike&lt;/a&gt;，在它发布1.2正式版之后，开发组的几个人开始商讨下一步的开发计划，有&lt;a href=&quot;http://www.typecho.net/archives/3/&quot;&gt;这样几个问题&lt;/a&gt;摆在了我们目前，于是我们更换项目名称为&lt;strong&gt;Typecho&lt;/strong&gt;。&lt;br /&gt;
&lt;img src=&quot;http://www.ccvita.com/wp-content/uploads/2008/04/typecho.png&quot; border=&quot;1&quot; alt=&quot;typecho&quot; width=&quot;260&quot; height=&quot;60&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Typecho由来&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;Type&lt;/em&gt;，有打字的意思，博客这个东西，正是一个让我们通过打字，在网络上表达自己的平台。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Echo&lt;/em&gt;，意思是回声、反馈、共鸣，也是PHP里最常见、最重要的函数，相信大部分PHP爱好者都是从echo &amp;#8216;Hello,world!&amp;#8217;;开始自己的PHP编程之路的。&lt;/p&gt;
&lt;p&gt;将这两个词合并在一起，就有了&lt;strong&gt;Typecho&lt;/strong&gt;，我们期待着越来越多的人使用我们开发的程序，也期待着越来越多的人加入到开源的行列里。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-325&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Typecho进度&lt;/strong&gt;&lt;br /&gt;
经过Typecho项目组的努力，我们的新版blog系统已经上线，大家可以从SVN中检出项目文件，并与我们分享你的想法和建议，我们仍然一如既往的热烈的盼望大家直接贡献代码，当然如果你觉得不方便，也可以做成插件的形式。关于如何贡献代码和参与项目请参考:&lt;strong&gt;&lt;a href=&quot;http://www.typecho.org/contribute&quot;&gt;http://www.typecho.org/contribute&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关于Typecho&lt;/strong&gt;&lt;br /&gt;
看了这个名称你可能会奇怪，Typecho是什么东西？首先声明，我们的Magike 2.0已经不再沿用Magike这个名称，而启用新的名称和logo。至于为什么这么做，请参考项目组成员sluke的这篇文章《&lt;a href=&quot;http://www.typecho.net/archives/3/&quot;&gt;Typecho名字的由来&lt;/a&gt;》。在这里给大家隆重介绍两个网站，分别是&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.typecho.net&quot;&gt;www.typecho.net&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.typecho.org&quot;&gt;www.typecho.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;前者为开发日志，我们开发组会在这里与大家交流最新的开发进展和设计思路，欢迎你的访问。后者是项目主页，这里主要存放一些开发相关的文档和开发者社区。我们同时也拿到了.com和.cn域名，但暂时没有精力来做，但如果我们有好的应用，一定会第一时间与大家分享，谢谢大家的支持！&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/325.html/feed</wfw:commentRss><description>Typecho是什么？
曾经，有一个开源博客程序叫做Magike，在它发布1.2正式版之后，开发组的几个人开始商讨下一步的开发计划，有这样几个问题摆在了我们目前，于是我们更换项目名称为Typecho。

Typecho由来
Type，有打字的意思，博客这个东西，正是一个让我们通过打字，在网络上表达自己的平台。
Echo，意思是回声、反馈、共鸣，也是PHP里最常见、最重要的函数，相信大部分PHP爱好者都是从echo &amp;#8216;Hello,world!&amp;#8217;;开始自己的PHP编程之路的。
将这两个词合并在一起，就有了Typecho，我们期待着越来越多的人使用我们开发的程序，也期待着越来越多的人加入到开源的行列里。

Typecho进度
经过Typecho项目组的努力，我们的新版blog系统已经上线，大家可以从SVN中检出项目文件，并与我们分享你的想法和建议，我们仍然一如既往的热烈的盼望大家直接贡献代码，当然如果你觉得不方便，也可以做成插件的形式。关于如何贡献代码和参与项目请参考:http://www.typecho.org/contribute
关于Typecho
看了这个名称你可能会奇怪，Typecho是什么东西？首先声明，我们的Magike 2.0已经不再沿用Magike这个名称，而启用新的名称和logo。至于为什么这么做，请参考项目组成员sluke的这篇文章《Typecho名字的由来》。在这里给大家隆重介绍两个网站，分别是
www.typecho.net
www.typecho.org
前者为开发日志，我们开发组会在这里与大家交流最新的开发进展和设计思路，欢迎你的访问。后者是项目主页，这里主要存放一些开发相关的文档和开发者社区。我们同时也拿到了.com和.cn域名，但暂时没有精力来做，但如果我们有好的应用，一定会第一时间与大家分享，谢谢大家的支持！</description><category>Typecho</category><category>杂七杂八</category><pubDate>Tue, 08 Jul 2008 21:20:35 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/325.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=325</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/325.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679389/4055977</fs:itemid></item><item><title>珍爱生命，远离懒惰</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679390/4055977/1/item.html</link><content:encoded>&lt;p&gt;blog又很久没有更新了，最近几天，一直想来写点东西，但是一直没有那份精力。&lt;/p&gt;
&lt;p&gt;牙疼四天了，从上个星期六开始到今天没有一天晚上睡过觉。痛苦ing&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;大概&lt;/strong&gt;说下我的情况吧：&lt;br /&gt;
牙疼，冷热已经不疼，牙神经已经基本坏死，但不知为啥开始肿。&lt;br /&gt;
肿了半个脸，在夜间的时候最为明显，下午症状最轻。&lt;/p&gt;
&lt;p&gt;据北大空腔医院与301医院的医生诊断，我汇总分析如下：&lt;br /&gt;
1.炎症肿块压迫到面部某些神经，导致夜间疼痛；&lt;br /&gt;
2.炎症已经扩散，导致右上五个牙齿均疼痛；&lt;br /&gt;
3.如果继续治疗必然需要消除炎症后才能进行；&lt;br /&gt;
4.于是我现在是在吊水消除炎症中；&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关于吊水&lt;/strong&gt;：&lt;br /&gt;
下午在301医院吊水，吊水也就是打点滴，是我们家乡话。&lt;br /&gt;
医院的护士说我手背上血管太细，还问我是不是平时也不运动，不干活。我瀑布汗，貌似我早年的时候还是名非职业的足球、网球运动员的说。&lt;br /&gt;
然后扎针的时候就更痛苦了。来了3、4个护士。&lt;br /&gt;
其中一个说，先试试，于是一针下去；&lt;br /&gt;
一个说，浅了，于是又一针下去；&lt;br /&gt;
一个说，深了，于是又一针下去；&lt;br /&gt;
一个说，好了，终于扎上了。&lt;/p&gt;
&lt;p&gt;还是那句话说的好啊：&lt;strong&gt;身体是革命的本钱！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;现在把本次痊愈之后需要做的罗列如下：&lt;br /&gt;
1.修正所有牙齿&lt;br /&gt;
2.每日锻炼身体&lt;br /&gt;
3.加强营养，多吃水果蔬菜&lt;br /&gt;
4.拒绝熬夜&lt;br /&gt;
5.积极做有意义的户外活动&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/324.html/feed</wfw:commentRss><description>blog又很久没有更新了，最近几天，一直想来写点东西，但是一直没有那份精力。
牙疼四天了，从上个星期六开始到今天没有一天晚上睡过觉。痛苦ing
大概说下我的情况吧：
牙疼，冷热已经不疼，牙神经已经基本坏死，但不知为啥开始肿。
肿了半个脸，在夜间的时候最为明显，下午症状最轻。
据北大空腔医院与301医院的医生诊断，我汇总分析如下：
1.炎症肿块压迫到面部某些神经，导致夜间疼痛；
2.炎症已经扩散，导致右上五个牙齿均疼痛；
3.如果继续治疗必然需要消除炎症后才能进行；
4.于是我现在是在吊水消除炎症中；
关于吊水：
下午在301医院吊水，吊水也就是打点滴，是我们家乡话。
医院的护士说我手背上血管太细，还问我是不是平时也不运动，不干活。我瀑布汗，貌似我早年的时候还是名非职业的足球、网球运动员的说。
然后扎针的时候就更痛苦了。来了3、4个护士。
其中一个说，先试试，于是一针下去；
一个说，浅了，于是又一针下去；
一个说，深了，于是又一针下去；
一个说，好了，终于扎上了。
还是那句话说的好啊：身体是革命的本钱！
现在把本次痊愈之后需要做的罗列如下：
1.修正所有牙齿
2.每日锻炼身体
3.加强营养，多吃水果蔬菜
4.拒绝熬夜
5.积极做有意义的户外活动</description><category>随笔心情</category><category>懒惰</category><category>身体</category><pubDate>Wed, 02 Jul 2008 00:04:11 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/324.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=324</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/324.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679390/4055977</fs:itemid></item><item><title>利用CSS技巧减小HTTP请求</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679391/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;简介&lt;/strong&gt;&lt;br /&gt;
这种技巧的名称叫做&lt;strong&gt;CSS Sprite&lt;/strong&gt;，基本原理就是利用CSS中图片background系列的background-image、background-repeat、background-position等属性实现。通过这种方式达到图片显示加速的关键，不是降低重量，而是减少个数。在通常情况下一张图片的传输时间，通常远小于请求等待的时间。&lt;/p&gt;
&lt;p&gt;PS：特别制作了三个&lt;a href=&quot;http://www.ccvita.com/wp-content/uploads/demo/css/&quot;&gt;CSS Sprites实例演示&lt;/a&gt;，感兴趣的朋友可以看一看。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实例&lt;/strong&gt;&lt;br /&gt;
比如google.cn现在首页的底部导航也是用这个方式实现的。&lt;br /&gt;
所用图片为：http://www.ccvita.com/wp-content/uploads/demo/css/google.gif&lt;br /&gt;
效果：http://www.google.cn&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-322&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.ccvita.com/wp-content/uploads/demo/css/google.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;代码&lt;/strong&gt;&lt;br /&gt;
从网上找了好几个演示，大家可以看下面地址的演示：&lt;a href=&quot;http://www.ccvita.com/wp-content/uploads/demo/css/&quot;&gt;CSS Sprites实例演示&lt;/a&gt;&lt;br /&gt;
效果一：纵向背景图&lt;/p&gt;
&lt;style&gt;
		.min, .max {
			width:16px;
			height:16px;
			background-image:url(http://www.ccvita.com/wp-content/uploads/demo/css/sprite.png);
			background-repeat: no-repeat; /*我们并不想让它平铺*/
			text-indent:-999em; /*隐藏文本的一种方法*/
		}
		.max {
			background-position: 0 -350px;
		}
		.min {
			background-position: 0 -400px;
		}
		&lt;/style&gt;
&lt;div class=&quot;max&quot;&gt;最大化&lt;/div&gt;
&lt;div class=&quot;min&quot;&gt;最小化&lt;/div&gt;
&lt;p&gt;效果二：横向背景图&lt;/p&gt;
&lt;style&gt;
		.one, .two {
			width:16px;
			height:16px;
			background-image:url(http://www.ccvita.com/wp-content/uploads/demo/css/editor.gif);
			background-repeat: no-repeat; /*我们并不想让它平铺*/
			text-indent:-999em; /*隐藏文本的一种方法*/
		}
		.one {
			background-position: -108px 0;
		}
		.two {
			background-position: -128px 0;
		}
		&lt;/style&gt;
&lt;div class=&quot;one&quot;&gt;颜色&lt;/div&gt;
&lt;div class=&quot;two&quot;&gt;链接&lt;/div&gt;
&lt;p&gt;效果三：平滑投票&lt;/p&gt;
&lt;style type=&quot;text/css&quot;&gt;
		.star_rating { list-style:none; margin:-1px 0 0 -1px; padding:0; width:70px; height:12px; position:relative; background:url(http://www.ccvita.com/wp-content/uploads/demo/css/rating_stars.gif) 0 0 repeat-x; overflow:hidden;}
			.star_rating li { padding:0; margin:0; float:left;}
			.star_rating li a { display:block; width:14px; height:12px; text-decoration:none; text-indent:-9000px; z-index:20; position:absolute; padding:0; margin:0;}
			.star_rating li a:hover{ background:url(http://www.ccvita.com/wp-content/uploads/demo/css/rating_stars.gif) 0 12px; z-index:2; left:0;}
				.star_rating a.one_star{ left:0;}
				.star_rating a.one_star:hover{ width:14px;}
				.star_rating a.two_stars{ left:14px;}
				.star_rating a.two_stars:hover{ width:28px;}
				.star_rating a.three_stars{ left:28px;}
				.star_rating a.three_stars:hover{ width:42px;}
				.star_rating a.four_stars{ left:42px;}	
				.star_rating a.four_stars:hover{ width:56px;}
				.star_rating a.five_stars{ left:56px;}
				.star_rating a.five_stars:hover{ width:70px;}
			.star_rating li.current_rating{ background:url(http://www.ccvita.com/wp-content/uploads/demo/css/rating_stars.gif) 0 24px; position:absolute; height:12px; display:block; text-indent:-9000px; z-index:1; left:0;}
		&lt;/style&gt;
&lt;p&gt;满分5.0, width:70px&lt;/p&gt;
&lt;ul class=&quot;star_rating left&quot;&gt;
&lt;li class=&quot;current_rating&quot; style=&quot;width:70px;&quot;&gt;Current rating: 4.7 (3 votes)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;1 of 5 stars&quot; class=&quot;one_star&quot;&gt;1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;2 of 5 stars&quot; class=&quot;two_stars&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;3 of 5 stars&quot; class=&quot;three_stars&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;4 of 5 stars&quot; class=&quot;four_stars&quot;&gt;4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;5 of 5 stars&quot; class=&quot;five_stars&quot;&gt;5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当前2.5, width:35px&lt;/p&gt;
&lt;ul class=&quot;star_rating left&quot;&gt;
&lt;li class=&quot;current_rating&quot; style=&quot;width:35px;&quot;&gt;Current rating: 4.7 (3 votes)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;1 of 5 stars&quot; class=&quot;one_star&quot;&gt;1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;2 of 5 stars&quot; class=&quot;two_stars&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;3 of 5 stars&quot; class=&quot;three_stars&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;4 of 5 stars&quot; class=&quot;four_stars&quot;&gt;4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;###&quot; onfocus=&quot;this.blur();&quot; title=&quot;5 of 5 stars&quot; class=&quot;five_stars&quot;&gt;5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;资料&lt;/strong&gt;&lt;br /&gt;
本文在写作的过程中严重参考了如下文章：&lt;br /&gt;
&lt;em&gt;CSS Sprites的实现&lt;/em&gt;&lt;br /&gt;
http://realazy.org/blog/2007/10/08/css-sprites/&lt;br /&gt;
&lt;em&gt;加速图片显示&lt;/em&gt;&lt;br /&gt;
http://www.blueidea.com/tech/site/2007/4750.asp&lt;br /&gt;
&lt;em&gt;利用CSS技巧减小HTTP请求&lt;/em&gt;&lt;br /&gt;
http://www.ccvita.com/322.html&lt;br /&gt;
&lt;em&gt;Yahoo的YShow网站优化中的34条规则 &lt;/em&gt;&lt;br /&gt;
http://developer.yahoo.com/performance/&lt;br /&gt;
&lt;em&gt;CSS Sprites: Image Slicing’s Kiss of Death&lt;/em&gt;&lt;br /&gt;
http://alistapart.com/articles/sprites&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/322.html/feed</wfw:commentRss><description>简介
这种技巧的名称叫做CSS Sprite，基本原理就是利用CSS中图片background系列的background-image、background-repeat、background-position等属性实现。通过这种方式达到图片显示加速的关键，不是降低重量，而是减少个数。在通常情况下一张图片的传输时间，通常远小于请求等待的时间。
PS：特别制作了三个CSS Sprites实例演示，感兴趣的朋友可以看一看。
实例
比如google.cn现在首页的底部导航也是用这个方式实现的。
所用图片为：http://www.ccvita.com/wp-content/uploads/demo/css/google.gif
效果：http://www.google.cn


代码
从网上找了好几个演示，大家可以看下面地址的演示：CSS Sprites实例演示
效果一：纵向背景图

		.min, .max {
			width:16px;
			height:16px;
			background-image:url(http://www.ccvita.com/wp-content/uploads/demo/css/sprite.png);
			background-repeat: no-repeat; /*我们并不想让它平铺*/
			text-indent:-999em; /*隐藏文本的一种方法*/
		}
		.max {
			background-position: 0 -350px;
		}
		.min {
			background-position: 0 -400px;
		}
		
最大化
最小化
效果二：横向背景图

		.one, .two {
			width:16px;
			height:16px;
			background-image:url(http://www.ccvita.com/wp-content/uploads/demo/css/editor.gif);
			background-repeat: no-repeat; /*我们并不想让它平铺*/
			text-indent:-999em; /*隐藏文本的一种方法*/
		}
		.one {
			background-position: -108px 0;
		}
		.two {
			background-position: -128px 0;
		}
		
颜色
链接
效果三：平滑投票

		.star_rating { list-style:none; margin:-1px 0 0 -1px; padding:0; width:70px; height:12px; position:relative; background:url(http://www.ccvita.com/wp-content/uploads/demo/css/rating_stars.gif) 0 0 repeat-x; overflow:hidden;}
			.star_rating li { padding:0; margin:0; float:left;}
			.star_rating li a { display:block; width:14px; height:12px; text-decoration:none; text-indent:-9000px; z-index:20; [...]</description><category>Div+CSS</category><category>高负载</category><category>css</category><pubDate>Thu, 26 Jun 2008 13:02:44 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/322.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=322</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/322.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679391/4055977</fs:itemid></item><item><title>闲话各家开放平台</title><link>http://item.feedsky.com/~feedsky/ccvita/~7034762/95679392/4055977/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;什么是开放平台&lt;/strong&gt;？&lt;br /&gt;
所谓开放平台，就是网站将底层系统代码以及数据开放，以吸引用户、合作伙伴、开发商一起进行产品开发，应用共享。此前Google和Facebook宣布开放平台的举动，让中国的互联网意识到，互联网竞争需要有更多的应用集成来抓住用户的心。 &lt;/p&gt;
&lt;p&gt;从FaceBook和Open Social，到现在的搜狗、雅虎、淘宝、校内、51、MySpace，以及只有呼声的腾讯、天涯，开放平台之风吹遍了大江南北，愈演愈烈。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;个人观点集锦&lt;/strong&gt;&lt;br /&gt;
其实在我看来，开放只是一个态度，更多关系到的还是利益。开放平台，为什么国内这么多互联网企业敢自称“开放平台”呢？以下评论仅代表个人观点：&lt;br /&gt;
搜狗-有点假&lt;br /&gt;
雅虎-不着调&lt;br /&gt;
淘宝-不错&lt;br /&gt;
51-弱了点&lt;br /&gt;
校内-还是弱&lt;/p&gt;
&lt;p&gt;以上五家，除了淘宝的没试过以外，其他四家，均尝试做了一个以上的应用开发，对比FaceBook而言，无论是从哪个方面来说，还是需要很大的提高才能满足我YY他们的兴趣。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;开发者经验&lt;/strong&gt;&lt;br /&gt;
一个好的应用，为了能在国内环境下发展，必须针对各个平台提供商提供的接口进行定制。同时，由于各个平台提供商开放的标准和程度不同，造成同一应用在不同平台提供商下会得到反差很大的效果。&lt;/p&gt;
&lt;p&gt;从开发者的角度出发，希望平台提供商同意，但是这已经是不可实现的了。&lt;/p&gt;
&lt;p&gt;本文未完，待续时间未定。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ccvita.com/321.html/feed</wfw:commentRss><description>什么是开放平台？
所谓开放平台，就是网站将底层系统代码以及数据开放，以吸引用户、合作伙伴、开发商一起进行产品开发，应用共享。此前Google和Facebook宣布开放平台的举动，让中国的互联网意识到，互联网竞争需要有更多的应用集成来抓住用户的心。 
从FaceBook和Open Social，到现在的搜狗、雅虎、淘宝、校内、51、MySpace，以及只有呼声的腾讯、天涯，开放平台之风吹遍了大江南北，愈演愈烈。
个人观点集锦
其实在我看来，开放只是一个态度，更多关系到的还是利益。开放平台，为什么国内这么多互联网企业敢自称“开放平台”呢？以下评论仅代表个人观点：
搜狗-有点假
雅虎-不着调
淘宝-不错
51-弱了点
校内-还是弱
以上五家，除了淘宝的没试过以外，其他四家，均尝试做了一个以上的应用开发，对比FaceBook而言，无论是从哪个方面来说，还是需要很大的提高才能满足我YY他们的兴趣。
开发者经验
一个好的应用，为了能在国内环境下发展，必须针对各个平台提供商提供的接口进行定制。同时，由于各个平台提供商开放的标准和程度不同，造成同一应用在不同平台提供商下会得到反差很大的效果。
从开发者的角度出发，希望平台提供商同意，但是这已经是不可实现的了。
本文未完，待续时间未定。</description><category>开放平台</category><category>闲话</category><category>杂七杂八</category><pubDate>Tue, 24 Jun 2008 14:00:57 +0800</pubDate><author>kimi</author><comments>http://www.ccvita.com/321.html#comments</comments><guid isPermaLink="false">http://www.ccvita.com/?p=321</guid><dc:creator>kimi</dc:creator><fs:srclink>http://www.ccvita.com/321.html</fs:srclink><fs:srcfeed>http://www.ccvita.com/feed</fs:srcfeed><fs:itemid>feedsky/ccvita/~7034762/95679392/4055977</fs:itemid></item></channel></rss>