<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[折雨的天空]]></title> 
<link>http://www.yqs.net.ru/index.php</link> 
<description><![CDATA[天空好黑好黑，要钱不要命...]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[折雨的天空]]></copyright>
<item>
<link>http://www.yqs.net.ru/read.php/878.htm</link>
<title><![CDATA[字符串中隔字插入指定字符str_split]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Tue, 06 Jan 2009 03:59:14 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/878.htm</guid> 
<description>
<![CDATA[ 
	代码：我用UTF-8的哈，GB2312应该不行，占位不一样<br/><br/><div class="code" style="overflow: auto;"><code><span style="color: #000000">
<br /><span style="color: #0000BB">&lt;?php<br /><br />$arr2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_split</span><span style="color: #007700">(</span><span style="color: #DD0000">"我好笨笨死了"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$arr</span><span style="color: #007700">=</span><span style="color: #0000BB">implode</span><span style="color: #007700">(</span><span style="color: #0000BB">$arr2</span><span style="color: #007700">,</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$arr</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span><br />$arr2-result:<br />Array&nbsp;(&nbsp;[0]&nbsp;=&gt;&nbsp;我&nbsp;[1]&nbsp;=&gt;&nbsp;好&nbsp;[2]&nbsp;=&gt;&nbsp;笨&nbsp;[3]&nbsp;=&gt;&nbsp;笨&nbsp;[4]&nbsp;=&gt;&nbsp;死&nbsp;[5]&nbsp;=&gt;&nbsp;了&nbsp;)&nbsp;<br /></span>
</code></div><br/><br/>后续的就自己发挥了
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/877.htm</link>
<title><![CDATA[jpgraph utf-8 中文]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Mon, 05 Jan 2009 07:21:15 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/877.htm</guid> 
<description>
<![CDATA[ 
	三个关键字，刚看到的几个问题<br/><br/>中文：使用SIMSUN即可<br/><br/><div class="code">$graph-&gt;title-&gt;SetFont(FF_SIMSUN,FS_NORMAL,10);</div><br/><br/>UTF-8：改代码才行<br/><br/>jpgraph_ttf.inc.php，在99到106行之间，全部注释掉<br/><br/><div class="code"><br/>elseif( $aFF === FF_SIMSUN ) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Do Chinese conversion <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( $this-&gt;g2312 == null ) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_once &#039;jpgraph_gb2312.php&#039; ; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;g2312 = new GB2312toUTF8(); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;g2312-&gt;gb2utf8($aTxt); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/></div><br/>
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/876.htm</link>
<title><![CDATA[json2select]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Sun, 04 Jan 2009 07:14:12 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/876.htm</guid> 
<description>
<![CDATA[ 
	<br/>通过json生成无限联动的select。至少要求jQuery 1.2.3 以上<br/><br/><br/><div class="code"><br/>//构建如下json，t为列表框的text,v为列表框的value，s表示子一级对象 <br/>var json=&#91; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;欧洲某地&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;欧洲&quot; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;中国某地&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;中国&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s:&#91; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;上海&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;上海&quot; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;云南某地&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;云南&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s:&#91; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;大理&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;大理&quot; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#93; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#93; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;日本某地&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;日本&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s:&#91; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;东京&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;东京&quot; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;北海道&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;北海道&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s:&#91; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t:&quot;北海道的某个地方&quot;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v:&quot;北海道的某个地方&quot; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#93; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#93; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&#93;; <br/>//调用即可 <br/>$(&quot;#selectt&quot;).json2select(json,&#91;&quot;中国&quot;,&quot;云南&quot;,&quot;大理&quot;&#93;);<br/></div><br/><br/>另外，如果用1.2.1的也想用的话，可以手动提取1.2.6里的data方法，或者简单用下面的模拟一下即可<br/><br/><div class="code"><br/>(function($) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$.fn.data=function(key,value) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $.data(this&#91;0&#93;,key,value); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; <br/>&#125;)(jQuery);<br/></div>
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/875.htm</link>
<title><![CDATA[你要的，我现在也给不起，你走吧，去迎接你的幸福，不用给我留下一丝同情。]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[我的每天]]></category>
<pubDate>Tue, 23 Dec 2008 08:19:37 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/875.htm</guid> 
<description>
<![CDATA[ 
	你要的，我现在也给不起，你走吧，去迎接你的幸福，不用给我留下一丝同情。
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/874.htm</link>
<title><![CDATA[dotproject关于任务处的错误修正方法]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Mon, 22 Dec 2008 08:16:45 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/874.htm</guid> 
<description>
<![CDATA[ 
	将modules下tasks下task.php<br/><br/>中<br/><div class="code">$from .= &quot;, user_tasks&quot;;</div><br/><br/>替换成：<br/><br/><div class="code">$from = &quot;user_tasks,tasks&quot;; //edit by QQ:4049054</div><br/><br/>文中共三处
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/873.htm</link>
<title><![CDATA[Linux下使用Apache,FastCGI构建Ruby On Rails环境]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Mon, 22 Dec 2008 02:48:53 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/873.htm</guid> 
<description>
<![CDATA[ 
	【别人的】<br />这里我主要介绍安装Ruby, RubyGems, Rails,和FastCGI的方法。<br />看图：<br /><br/><br/><br/><a href="http://www.yqs.net.ru/attachment.php?fid=22" target="_blank"><img src="http://www.yqs.net.ru/attachment.php?fid=22" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/872.htm</link>
<title><![CDATA[项目管理工具推荐：Redmine和DotProject]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Thu, 18 Dec 2008 08:41:12 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/872.htm</guid> 
<description>
<![CDATA[ 
	项目管理逐渐在各行各业深入人心，于是应运而生出现了许多的在线项目管理网站，去年我曾经介绍过忙吧和易度两家在线项目管理服务网站，最近还发现了趣客、快做网，国外提供在线项目管理服务的网站则更多。<br/><br/>不过在这类网站上进行项目管理存在着安全隐患，对于开发类的项目不能和代码开发和测试等结合起来存在很大局限性，另外功能扩展也相对较困难。因此今天我主要向大家推荐适合在公司内部安装，并适合对IT项目进行管理的两款轻量级开源工具：Redmine和DotProject。（注意：这两款轻量级工具比较适合中小型企业，大型公司建议用更专业的集成管理工具）<br/><br/>DotProject：是一个基于LAMP的开源项目管理软件，历史比较悠久(号称始于1996年)，在全世界被翻译成几十种语言，涵盖了公司管理、项目管理、任务跟踪(带甘特图)、论坛、问题跟踪、文件管理、日历，通信录、备忘录、投票、权限管理、主题管理。这是个老牌的项目管理系统，使用人数较多，而且功能也比较全面和强大，不过配置较复杂，另外虽然有中文包但部分地方仍然出现乱码，最近的更新也非常的迟缓，从2.1.1版本升级到2.1.2版本花费了接近一年的时间，官方主页也失效了，不知是否开发人员方面有何变动。不管怎样，DotProject仍然是目前应用广泛，比较成熟的一套轻量级项目管理系统。<br/><br/>Redmine：这是基于ROR框架开发的一套跨平台项目管理系统，是项目管理系统的后起之秀，据说是源于Basecamp的ror版而来(未考证)，支持多种数据库，除了和DotProject的功能大致相当外，还有不少自己独特的功能，例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等待，还可以集成其他版本管理系统和BUG跟踪系统，例如SVN、CVS、TD等等。界面友好性胜过Dotproject，配置功能强大而且方便，自定义属性和更新通知也很实用，详细的介绍可以看看清华同方的redmine站点。中文版Redmine在线演示：ezWORK、英文版可看Redmine提供的官方演示。李征还建立了一个提供免费redmine服务的站点：Redmine.NET。<br/><br/><br/><br/>之所以推荐这两款工具，首页因为他们是免费开源的，具备良好的扩展性，大家可以在此基础上做适合自己公司的扩展开发，其次它的B/S架构非常方便实用，很适合团队的项目管理，另外和一些版本管理和错误跟踪工具的初步集成也让项目管理更加轻松容易。个人比较偏好Redmine多一些，在之前的公司就是使用Redmine进行项目管理、知识分享、任务分配和KPI考核。当然如果你仅仅是做个人或单一的项目管理，平时使用ms的projcet或者excel都足够了。<br/><br/>除此之外还有一些基于web的项目管理系统：XPlanner、Onepoint、]project open[、JIRA、Trac也值得关注。<br/><br/>虽然上面提到的系统可以解决日常大部分的项目管理需求，但仍然没有实现将需求、设计、任务、开发、版本控制、测试用例、bug跟踪、版本发布等完美的结合到一起，这估计是免费开源系统的一个缺陷，缺乏足够的资源支撑进行更大规模的集成开发。而商业化的工具在这方面就更具优势，例如被IBM收购的Telelogic就有一系列工具，Doors、Changes等等，基本实现了上述所有流程的整合，但是在费用方面就不是中小型公司可以承受的。不过对大部分中小型企业来讲，在DotProject和Redmine基础上进行适当的扩展已经可以满足日常需求了，毕竟还有相当部分的企业还是采用project和excel在进行项目管理。
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/871.htm</link>
<title><![CDATA[Smarty与新框架]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Thu, 18 Dec 2008 06:17:26 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/871.htm</guid> 
<description>
<![CDATA[ 
	干PHP这行的，说的模板总是提下Smarty，好像不会Smarty就代表你的PHP技术不怎么样。当然Smarty效率并不低，只是按目前的发展，如果在系统中强加Smarty已经是多此一举。<br/><br/>有自有模板语言的模板引擎技术也渐渐失去光华。以自有语法为模板引擎语言的技术，Smarty模板技术也好，DZ模板技术也好，phplib模板也好，都需要进行转换和匹配成为PHP语法模板，它们会渐渐淡出主流技术中。框架及PHP语法模板引擎慢慢兴起。<br/><br/>以php语言本身做模板语言越来越成为一种趋势，比如CI（codeigniter）、ZF等框架默认以PHP作为脚本语言了。<br/><br/>
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/870.htm</link>
<title><![CDATA[根据地区选择不同网页(多语言用得到)]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Thu, 18 Dec 2008 05:53:51 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/870.htm</guid> 
<description>
<![CDATA[ 
	在我们进行网站访问时，根据地区使用语言我们可以将用户带到不同网页，这里我们用到的是<br/>$_SERVER['HTTP_ACCEPT_LANGUAGE']这个函数，它表示当前请求的 Accept-Language: 头部的内容。例如：“en”，如果是多语言列，是类似 “zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3″。<br/><br/>下面我们来根据不同语言地区来写一段代码，代码如下：<br/><br/>代码1: 根据地区选择不同网页<br/><div class="code" style="overflow: auto;"><code><span style="color: #000000">
<br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;分析&nbsp;HTTP_ACCEPT_LANGUAGE&nbsp;的属性<br />//&nbsp;这里只取第一语言设置&nbsp;（其他可根据需要增强功能，这里只做简单的方法演示）<br /></span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #0000BB">‘</span><span style="color: #007700">/^([</span><span style="color: #0000BB">a</span><span style="color: #007700">-</span><span style="color: #0000BB">z</span><span style="color: #007700">-]+)/</span><span style="color: #0000BB">i’</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_ACCEPT_LANGUAGE'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$matches</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$lang&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$matches</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">];<br />switch&nbsp;(</span><span style="color: #0000BB">$lang</span><span style="color: #007700">)<br />{<br />case&nbsp;</span><span style="color: #0000BB">‘zh</span><span style="color: #007700">-</span><span style="color: #0000BB">cn’&nbsp;</span><span style="color: #007700">:<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #0000BB">‘Location</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//cn.example.com/’);<br /></span><span style="color: #007700">break;<br />case&nbsp;</span><span style="color: #0000BB">‘zh</span><span style="color: #007700">-</span><span style="color: #0000BB">tw’&nbsp;</span><span style="color: #007700">:<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #0000BB">‘Location</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//tw.example.com/’);<br /></span><span style="color: #007700">break;<br />case&nbsp;</span><span style="color: #0000BB">‘ko’&nbsp;</span><span style="color: #007700">:<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #0000BB">‘Location</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//ko.example.com/’);<br /></span><span style="color: #007700">break;<br />default:<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #0000BB">‘Location</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//en.example.com/’);<br /></span><span style="color: #007700">break;<br />}<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></div>
]]>
</description>
</item><item>
<link>http://www.yqs.net.ru/read.php/869.htm</link>
<title><![CDATA[关于PHP一些不得不说的10件事]]></title> 
<author>折雨 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[学习时间]]></category>
<pubDate>Thu, 18 Dec 2008 05:47:10 +0000</pubDate> 
<guid>http://www.yqs.net.ru/read.php/869.htm</guid> 
<description>
<![CDATA[ 
	1. 使用 ip2long() 和 long2ip() 以整型(integer)方式储存IP地址到数据库，而非字符串方式。这将几乎减少一半的储存空间（char(15)15个字节，integer则是8个字节），而且也更容易计算某一IP地址是否在一个范围之内。同时也加速搜索和排序。<br/><br/>2. 应用checkdnsrr()检查域名是否存在，来验证email地址的一部分。这个checkdnsrr()内建函数可以通过相应的域名或者IP地址查询DNS记录。有PHP开发者利用这个函数编写了一个自定义函数，能验证email地址的一部分。请注意，此函数在windows平台尚未实现！请用 PEAR 程序库的 Net_DNS 代替。<br/><br/>3. 如果你使用PHP 5 + MySQL 4.1 版本组合或其版本以上，得试试改进的 mysqli_* 函数，而不用 mysql_* 函数。mysqli_* 函数的一个优越的特点是可以使用 prepared 语句。如果你维护一个对数据库依赖性很大的网站，这个函数将大大提升数据库的查询速度。不信你可以看看这篇性能测试文章—MySQLi vs MySQL。最终结果是 mysqli_stmt > mysql_query > mysqli_query > mysqli_multi_query 。mysqli_stmt最佳。<br/><br/>4. 学会、爱用三元操作符( ternary operator )。也就是if/else条件语句的代替，用 “?:” 表示。<br/><br/>5. 不必重造车轮，先看看PEAR 程序库有没有人已经发明这个轮子了。<br/><br/>6. highlight_file()能格式化你的代码，美观漂亮。<br/><br/>7. 使用 error_reporting(0) 函数，阻止潜在的敏感错误信息显示给用户。最好的情况是能在服务器上配置php.ini文件，直接屏蔽错误报告的显示。但是如果使用虚拟主机就没那么幸运能够编辑修改php.ini文件了，得使用另外的方法：在php代码首行添加error_reporting(0); 语句。这样的好处是使得SQL查询语句和服务器的物理路径等这些敏感错误信息完全不显示给用户。<br/><br/>8. 大量字符串文本储存入数据库之前，使用 gzcompress() 和 gzuncompress() 进行压缩和解压缩的转换。这个内建函数使用gzip算法，对文本的压缩率达90％以上。当然，经过压缩就无法进行全文搜索了。<br/><br/>9. 在函数的参数传递中使用”引用传递”，可以返回多个值。有编程语言基础的程序员在其它语言就知道这个用法了；然而一些只会html语言的网页设计者就感到困惑了。答案就是使用 “&” 符号处理变量，并以引用传递而非按值传递。<br/><br/>10. 完全理解 “magic quotes”和SQL注入攻击的危险性。如果你从未听过SQL注入攻击[ SQL injection] ，你得花点时间了解一下了。<br/>
]]>
</description>
</item>
</channel>
</rss>