<?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>QLJ's Blog &#187; php</title>
	<atom:link href="http://qlj.sh.cn/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://qlj.sh.cn</link>
	<description>搜集网络信息,风云磅实验</description>
	<lastBuildDate>Thu, 12 Apr 2012 06:50:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>php使用json代替serialize的想法</title>
		<link>http://qlj.sh.cn/php/20120127/json_serialize/</link>
		<comments>http://qlj.sh.cn/php/20120127/json_serialize/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 19:49:18 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[serialize]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1123</guid>
		<description><![CDATA[我需要把一些内容存放在数据库,感觉这些没必要建立字段,于是索性放在数组中序列化后存入数据库. 使用serialize序列化后的字符串很多内容都是不需要的,比如长度信息,数据类型. 感觉平时用的json不错. 打算用json代替, 网上好多结果都是json语serialize的速度比较,这个倒没很大的必要. 需要注意的是 json_decode时返回的是object,需要 json_decode&#40;&#34;字符串&#34;,ture&#41;; 后来发现也不是那么完美.. json_encode会对中文进行编码.如果含有大量的中文,那长度超过了serialize. 这让人很蛋疼,网上给出的办法是对内容进行urlencode,json_enocde后再urldecode function jsonencode&#40;$code&#41;&#123; //新json_encode $code = json_encode&#40;urlencodearray&#40;$code&#41;&#41;;//对数组处理 return urldecode&#40;$code&#41;; &#125; function urlencodearray&#40;$data&#41;&#123;//urlencode数组 if&#40;is_array&#40;$data&#41;&#41;&#123; foreach&#40;$data as $key=&#38;gt;$val&#41;&#123; $data&#91;$key&#93; = urlencodearray&#40;$val&#41;; &#125; return $data; &#125;else&#123; return urlencode&#40;$data&#41;; &#125; &#125; 真是菊花一紧啊&#8230;. 再这之后还可以进行一次压缩. 当然,如果不考虑内容的可读性,用其他的扩展也不错,比如msgpack,]]></description>
			<content:encoded><![CDATA[<p>我需要把一些内容存放在数据库,感觉这些没必要建立字段,于是索性放在数组中序列化后存入数据库.<br />
使用serialize序列化后的字符串很多内容都是不需要的,比如长度信息,数据类型.<br />
感觉平时用的json不错.<br />
打算用json代替,<br />
网上好多结果都是json语serialize的速度比较,这个倒没很大的必要.<br />
需要注意的是 json_decode时返回的是object,需要</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;字符串&quot;</span><span style="color: #339933;">,</span>ture<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>后来发现也不是那么完美..<br />
json_encode会对中文进行编码.如果含有大量的中文,那长度超过了serialize.<br />
这让人很蛋疼,网上给出的办法是对内容进行urlencode,json_enocde后再urldecode</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> jsonencode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//新json_encode</span>
 <span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span>urlencodearray<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//对数组处理</span>
 <span style="color: #b1b100;">return</span> <span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> urlencodearray<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #666666; font-style: italic;">//urlencode数组</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> urlencodearray<span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">return</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">return</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>真是菊花一紧啊&#8230;.<br />
再这之后还可以进行一次压缩.<br />
当然,如果不考虑内容的可读性,用其他的扩展也不错,比如msgpack,</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20120127/json_serialize/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>php邮件发送类推荐 PHPMailer:smtp法</title>
		<link>http://qlj.sh.cn/php/20110526/phpmailler/</link>
		<comments>http://qlj.sh.cn/php/20110526/phpmailler/#comments</comments>
		<pubDate>Wed, 25 May 2011 19:48:11 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1118</guid>
		<description><![CDATA[这里说明下 我用的是SMTP 其他方法的请继续 GOOGLE 刚拿到的时候 测试了下发信 无异常 支持HTML 但是SMTP 发送的过程中 需要先于SMTP 服务器建立连接 然后发信 这个过程可能需要1-3秒 可能会导致网页响应较长时间 所以呢. 我们建立一个表用于存放发送的邮件队列 每次发送邮件是将 邮件内容加入表中 然后 用CRON 每分钟检查下表 若存在 则 队列发送 目前在起哄网上使用中.用于发送EMAIL认证邮件 &#160; -- -- 表的结构 `qlj_sendmail` -- &#160; CREATE TABLE IF NOT EXISTS `qlj_sendmail` &#40; `id` INT&#40;11&#41; NOT NULL AUTO_INCREMENT, `email` VARCHAR&#40;50&#41; DEFAULT NULL, `subject` VARCHAR&#40;120&#41; DEFAULT NULL, `body` text, [...]]]></description>
			<content:encoded><![CDATA[<p>这里说明下 我用的是SMTP 其他方法的请继续 GOOGLE<br />
刚拿到的时候 测试了下发信 无异常 支持HTML<br />
但是SMTP 发送的过程中 需要先于SMTP 服务器建立连接 然后发信<br />
这个过程可能需要1-3秒 可能会导致网页响应较长时间<br />
所以呢. 我们建立一个表用于存放发送的邮件队列<br />
每次发送邮件是将 邮件内容加入表中<br />
然后 用CRON 每分钟检查下表 若存在 则 队列发送<br />
目前在<a href="http://www.qihoon.com/" title="起哄网">起哄网</a>上使用中.用于发送EMAIL认证邮件</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">&nbsp;
<span style="color: #808080; font-style: italic;">--</span>
<span style="color: #808080; font-style: italic;">-- 表的结构 `qlj_sendmail`</span>
<span style="color: #808080; font-style: italic;">--</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">EXISTS</span> <span style="color: #ff0000;">`qlj_sendmail`</span> <span style="color: #66cc66;">&#40;</span>
  <span style="color: #ff0000;">`id`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`email`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`subject`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">120</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`body`</span> text<span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`error`</span> tinyint<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">'0'</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`dateline`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span>  <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>MyISAM  <span style="color: #993333; font-weight: bold;">DEFAULT</span> CHARSET<span style="color: #66cc66;">=</span>utf8 <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span> ;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">#!/usr/local/php/bin/php -q
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mysql.class.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'class.phpmailer.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span>                <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PHPMailer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DB<span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">IsSMTP</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//SMTP服务器</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;no-reply@qihoon.com&quot;</span><span style="color: #339933;">;</span>  
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>    
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">FromName</span> <span style="color: #339933;">=</span>  <span style="color: #0000ff;">&quot;起哄网信使&quot;</span><span style="color: #339933;">;</span>   
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">SMTPAuth</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>          
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">From</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Username</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">CharSet</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;utf8&quot;</span><span style="color: #339933;">;</span>           
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Encoding</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;base64&quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AddAddress</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sendto_email</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
<span style="color: #000088;">$result</span><span style="color: #339933;">=</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT id,email,subject,body FROM `qlj_sendmail` where error='0' LIMIT 0 , 30&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">num_rows</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AltBody</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/html&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Subject</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'subject'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">MsgHTML</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'body'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AddAddress</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;email&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;full_name&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Send</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//$errorid[]=array(id=&gt;$row['id'],error=&gt;$mail-&gt;ErrorInfo);//本来想记录出错信息的.但是表是INT 不浪费字段了.</span>
	  <span style="color: #000088;">$errid</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$okid</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ClearAddresses</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$okid</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$sok</span><span style="color: #339933;">=</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span><span style="color: #000088;">$okid</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;delete from `qlj_sendmail` where id in(<span style="color: #006699; font-weight: bold;">$sok</span>) ;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$errid</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$serr</span><span style="color: #339933;">=</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span><span style="color: #000088;">$errid</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;update `qlj_sendmail` set error='1' where id in(<span style="color: #006699; font-weight: bold;">$serr</span>) ;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>最后在  CRONTAB中 加入  每分钟的计划任务<br />
*/1 * * * * /usr/local/php/bin/php /home/yingouqlj/send_mail.php</p>
<p>参考官方实例.</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20110526/phpmailler/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>php延时更新点击数[文件缓存]</title>
		<link>http://qlj.sh.cn/php/20110309/php_lazyinsert_num/</link>
		<comments>http://qlj.sh.cn/php/20110309/php_lazyinsert_num/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 16:56:05 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[thinkphp]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1108</guid>
		<description><![CDATA[想法来源 用户积分增加 列入 用户访问空间时增加1分 用户首次登陆增加10分 那么每次操作都要insert一次 这显然很浪费 如果可以缓存一次性写入那么就可以降低MYSQL的压力了 像上面的情况我只要一次性增加11分即可 在THINKPHP中找到了方法 下面代码转载自THINKPHP(advmodel.class.php) setLazyInc&#40;$field,$condition='',$step=1,$lazyTime=0&#41; &#123; //缓存累加 if&#40;empty&#40;$condition&#41; &#38;&#38; isset&#40;$this-&#62;options&#91;'where'&#93;&#41;&#41; $condition = $this-&#62;options&#91;'where'&#93;; if&#40;empty&#40;$condition&#41;&#41; &#123; // 没有条件不做任何更新 return false; &#125; if&#40;$lazyTime&#62;0&#41; &#123;// 延迟写入 $guid = md5&#40;$this-&#62;name.'_'.$field.'_'.serialize&#40;$condition&#41;&#41;; $step = $this-&#62;lazyWrite&#40;$guid,$step,$lazyTime&#41;; if&#40;false === $step &#41; return true; // 等待下次写入 &#125; return $this-&#62;setField&#40;$field,array&#40;'exp',$field.'+'.$step&#41;,$condition&#41;; &#125; &#160; function lazyWrite&#40;$guid,$step,$lazyTime&#41; &#123; if&#40;false !== &#40;$value [...]]]></description>
			<content:encoded><![CDATA[<p>想法来源</p>
<p>用户积分增加</p>
<p>列入 用户访问空间时增加1分</p>
<p>用户首次登陆增加10分</p>
<p>那么每次操作都要insert一次</p>
<p>这显然很浪费</p>
<p>如果可以缓存一次性写入那么就可以降低MYSQL的压力了</p>
<p>像上面的情况我只要一次性增加11分即可</p>
<p>在THINKPHP中找到了方法</p>
<p>下面代码转载自<a href="http://qlj.sh.cn/tag/thinkphp/">THINKPHP</a>(advmodel.class.php)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">setLazyInc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span><span style="color: #000088;">$condition</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$step</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$lazyTime</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//缓存累加</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$condition</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'where'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #000088;">$condition</span>   <span style="color: #339933;">=</span>  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'where'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$condition</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// 没有条件不做任何更新</span>
            <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lazyTime</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #666666; font-style: italic;">// 延迟写入</span>
            <span style="color: #000088;">$guid</span> <span style="color: #339933;">=</span>  <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$field</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">.</span><span style="color: #990000;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$condition</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$step</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lazyWrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">,</span><span style="color: #000088;">$step</span><span style="color: #339933;">,</span><span style="color: #000088;">$lazyTime</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">===</span> <span style="color: #000088;">$step</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 等待下次写入</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setField</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'exp'</span><span style="color: #339933;">,</span><span style="color: #000088;">$field</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'+'</span><span style="color: #339933;">.</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000088;">$condition</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> lazyWrite<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">,</span><span style="color: #000088;">$step</span><span style="color: #339933;">,</span><span style="color: #000088;">$lazyTime</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// 存在缓存写入数据</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span>F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_time'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #000088;">$lazyTime</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">// 延时更新时间到了，删除缓存数据 并实际写入数据库</span>
                F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_time'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000088;">$value</span><span style="color: #339933;">+</span><span style="color: #000088;">$step</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">// 追加数据到缓存</span>
                F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">,</span><span style="color: #000088;">$value</span><span style="color: #339933;">+</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// 没有缓存数据</span>
            F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">,</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">// 计时开始</span>
            F<span style="color: #009900;">&#40;</span><span style="color: #000088;">$guid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_time'</span><span style="color: #339933;">,</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>上面有个 FUNCTION F 在FACTIONS.PHP</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">// 快速文件数据读取和保存 针对简单类型数据 字符串、数组
function F($name,$value='',$path=DATA_PATH) { //修改$path为自己的缓存路径
    static $_cache = array();
    $filename   =   $path.$name.'.php';
    if('' !== $value) {
        if(is_null($value)) {
            // 删除缓存
            return unlink($filename);
        }else{
            // 缓存数据
            $dir   =  dirname($filename);
            // 目录不存在则创建
            if(!is_dir($dir))  mkdir($dir);
            return file_put_contents($filename,&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span>\nreturn <span style="color: #0000ff;">&quot;.var_export(<span style="color: #006699; font-weight: bold;">$value</span>,true).&quot;</span><span style="color: #339933;">;</span>\n<span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;);
        }
    }</pre></div></div>

<p>调用方法</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">setLazyDec<span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span><span style="color: #000088;">$condition</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$step</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$lazyTime</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> 
<span style="color: #666666; font-style: italic;">//根据需要 自己修改吧我加入了table 等多个</span>
<span style="color: #000000; font-weight: bold;">function</span> lazyaddint<span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">,</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span><span style="color: #000088;">$condition</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$num</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$ltime</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #666666; font-style: italic;">//调用方法 更具实际需要修改吧</span>
lazyaddint<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'表明'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'字段名'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;WHERE条件&quot;</span><span style="color: #339933;">,</span>增加数量<span style="color: #339933;">,</span>缓存时间<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>此方法 会在缓存目录中创建2个临时文件</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">//07e8c1b06dbdc4f282bf7bf9311a1fce_time.php
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1299602761</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
//07e8c1b06dbdc4f282bf7bf9311a1fce.php
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>根据时间超过 设定的时间就写入数据库<br />
此方法已经适用无问题<br />
感觉方法不太好.. 期待MEMCACHED的方式</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20110309/php_lazyinsert_num/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>smarty cache缓存的使用</title>
		<link>http://qlj.sh.cn/php/20100520/smarty-cache/</link>
		<comments>http://qlj.sh.cn/php/20100520/smarty-cache/#comments</comments>
		<pubDate>Wed, 19 May 2010 18:46:00 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[缓存]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1080</guid>
		<description><![CDATA[机器实在太老了。。 在增加到8W条文章 TAG表已经增加到了30多万条了 10 个表 总计 415,762 在我那个老电脑上。。（p4 1.6 256内存） 很快。。内存不足了。。只剩下4MB剩余内存 于是TAOBAO上买了个 512的SDRAM MYSQL 真是个费劲的家伙 原本将一些 列表等。缓存了。已减少查询。。在5W文章内。还不是很吃力 没想到 到了8W后。 要等好几秒才刷出来。。而PHP显示的执行时间却依然是不到0.2秒 在加内存后。 已经可以正常运行了。 但是看CPU使用率还是挺高的 于是决定。直接使用SMARTY缓存 首页缓寸一天 $Smarty -&#62; caching=true; $Smarty-&#62;cache_lifetime = 86400; if&#40;!$Smarty-&#62;is_cached&#40;'index.html'&#41;&#41;&#123; &#160; ...... &#160; &#125; &#160; //文章页 缓存 1周 $Smarty -&#62; caching=true; $Smarty-&#62;cache_lifetime = 7*86400; if&#40;!$Smarty-&#62;is_cached&#40;'article.php',$id&#41;&#41;&#123; &#125; 为了防止把执行速度也CACHE了 function nocache_block&#40;$params,$content,Smarty $Smarty&#41;&#123; return $content; &#125; [...]]]></description>
			<content:encoded><![CDATA[<p>机器实在太老了。。<br />
在增加到8W条文章<br />
TAG表已经增加到了30多万条了<br />
10 个表  总计 415,762<br />
在我那个老电脑上。。（p4 1.6   256内存）<br />
很快。。内存不足了。。只剩下4MB剩余内存<br />
于是TAOBAO上买了个 512的SDRAM<br />
<span id="more-1080"></span><br />
MYSQL 真是个费劲的家伙</p>
<p>原本将一些 列表等。缓存了。已减少查询。。在5W文章内。还不是很吃力<br />
没想到 到了8W后。 要等好几秒才刷出来。。而PHP显示的执行时间却依然是不到0.2秒<br />
在加内存后。<br />
已经可以正常运行了。<br />
但是看CPU使用率还是挺高的 于是决定。直接使用SMARTY缓存</p>
<p>首页缓寸一天</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$Smarty</span> <span style="color: #339933;">-&gt;</span> <span style="color: #004000;">caching</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cache_lifetime</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">86400</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$Smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is_cached</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'index.html'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #339933;">......</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//文章页 缓存 1周</span>
<span style="color: #000088;">$Smarty</span> <span style="color: #339933;">-&gt;</span> <span style="color: #004000;">caching</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cache_lifetime</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">86400</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$Smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is_cached</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'article.php'</span><span style="color: #339933;">,</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>为了防止把执行速度也CACHE了</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> nocache_block<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #339933;">,</span><span style="color: #000088;">$content</span><span style="color: #339933;">,</span>Smarty <span style="color: #000088;">$Smarty</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$Smarty</span> <span style="color: #339933;">-&gt;</span> <span style="color: #004000;">register_block</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'nocache'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'nocache_block'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>调用</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	Processed in <span style="color: #808080; font-style: italic;">&lt;!--{nocache}--&gt;&lt;!--{$runtime}--&gt;&lt;!--{/nocache}--&gt;</span> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>引用另一种防止CACHE的方法</p>
<p>1、使用insert函数使模板的一部分不被缓存</p>
<p>首先在php页面中</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #000000; font-weight: bold;">function</span> insert_get_now_time<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
 <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d h:i:s&quot;</span><span style="color: #339933;">,</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
//html调用方法
现在时间为：&lt;{insert name=&quot;get_now_time&quot;}&gt;</pre></div></div>

<p>意：首先 函数命名一定要 以 insert_ 开头 后面紧跟着 模版中的函数名字<br />
      只要定义了函数 smarty 会自动 加载其函数 。</p>
<p>另一种<br />
2使用register_function阻止插件从缓存中输出</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
index<span style="color: #339933;">.</span>tpl<span style="color: #339933;">:</span>
<span style="color: #339933;">&lt;</span>div<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#123;</span>current_time<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
index<span style="color: #339933;">.</span>php<span style="color: #339933;">:</span>
<span style="color: #000000; font-weight: bold;">function</span> smarty_function_current_time<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$smarty</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d H:m:s&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$smarty</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> smarty<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">caching</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">register_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'current_time'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'smarty_function_current_time'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is_cached</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">.......</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$smarty</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'index.tpl'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>注解：<br />
定义一个函数，函数名格式为：<a href="http://qlj.sh.cn/tag/smarty/">smarty</a>_type_name($params, &#038;$smarty)<br />
type为function<br />
name为用户自定义标签名称，在这里是{current_time}<br />
两个参数是必须的，即使在函数中没有使用也要写上。两个参数的功能同上。</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100520/smarty-cache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>一个简单的短消息JQUERY+AJAX PUSH</title>
		<link>http://qlj.sh.cn/php/20100418/easy-jqueryajax-push/</link>
		<comments>http://qlj.sh.cn/php/20100418/easy-jqueryajax-push/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 13:53:46 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1073</guid>
		<description><![CDATA[哈。刚接触jquery 以前连JAVASCRIPT都不会。 JQUERY好方便。很容易理解。 几行代码就足够搞定了 function checknewpm&#40;&#41;&#123; $.get&#40;&#34;pm.php?view=checknew&#34;, function&#40;data&#41;&#123; $&#40;&#34;#npm&#34;&#41;.html&#40;data&#41;&#125;&#41;; &#125; setInterval&#40;&#34;checknewpm()&#34;,60000&#41;; PHP部分 $query = $db-&#62;query&#40;&#34;SELECT COUNT(pmid) from qlj_pm where tuid='{$qljid}' and isred ='0'&#34;&#41;; $newpm= $db-&#62;result&#40;$query, 0&#41;; if&#40;$newpm==0&#41;&#123; $newpm=&#34;&#34;; &#125; echo $newpm;//就一个数字。不需要JSON了。。嘿嘿。懒。 简单方便。哈哈。。。]]></description>
			<content:encoded><![CDATA[<p>哈。刚接触jquery<br />
以前连JAVASCRIPT都不会。<br />
JQUERY好方便。很容易理解。<br />
几行代码就足够搞定了<br />
<span id="more-1073"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">		<span style="color: #003366; font-weight: bold;">function</span> checknewpm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
             $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;pm.php?view=checknew&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#npm&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
setInterval<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;checknewpm()&quot;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">60000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>PHP部分</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT COUNT(pmid) from qlj_pm where tuid='<span style="color: #006699; font-weight: bold;">{$qljid}</span>' and isred ='0'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$newpm</span><span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$newpm</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$newpm</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$newpm</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//就一个数字。不需要JSON了。。嘿嘿。懒。</span></pre></div></div>

<p>简单方便。哈哈。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100418/easy-jqueryajax-push/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php+mysql模仿android中短信界面的效果</title>
		<link>http://qlj.sh.cn/php/20100413/phpmysql-android-mms/</link>
		<comments>http://qlj.sh.cn/php/20100413/phpmysql-android-mms/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 20:11:01 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1071</guid>
		<description><![CDATA[十分喜欢android的短信 像 QQ一样。。 缺点是。。 发消息也想QQ一样。。。 一条接一条。。 钱也一条接一条的扣。。 哈哈 现在大部分网站的短信都类似于 GMAIL 一样。或者说。跟论坛主题一样。 。 一个贴。。后面回复。。 改变下模式。。做自己喜欢的效果。。 android短信的效果 对方号码 + 最后一条消息内容（简略） +条数 那变成站内信的效果就是 发信人资料 + 简短消息 +条数+ 最后时间 下面是PHP +MYSQL部分 觉得自己的MYSQL太烂了 希望有人能看到这个贴后优化下查询过程 $query=$db-&#62;query&#40;&#34;select * from qlj_pm where pmid in (SELECT max(pmid) FROM qlj_pm where tuid='{$qljid}' GROUP BY fuid )&#34;&#41;; while&#40;$res=$db-&#62;fetch_array&#40;$query&#41;&#41; &#123; $count=$db-&#62;fetch_array&#40;$db-&#62;query&#40;&#34;select count(pmid) from qlj_pm where (fuid='{$res['fuid']}' and [...]]]></description>
			<content:encoded><![CDATA[<p>十分喜欢<a href="http://qlj.sh.cn/tag/android/">android</a>的短信<br />
像 QQ一样。。<br />
缺点是。。 发消息也想QQ一样。。。<br />
一条接一条。。 钱也一条接一条的扣。。<br />
哈哈<br />
现在大部分网站的短信都类似于 GMAIL 一样。或者说。跟论坛主题一样。 。 一个贴。。后面回复。。<br />
改变下模式。。做自己喜欢的效果。。<br />
<span id="more-1071"></span><br />
android短信的效果<br />
对方号码 + 最后一条消息内容（简略） +条数<br />
那变成站内信的效果就是<br />
发信人资料  + 简短消息 +条数+ 最后时间<br />
下面是PHP +MYSQL部分<br />
觉得自己的MYSQL太烂了 希望有人能看到这个贴后优化下查询过程</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$query</span><span style="color: #339933;">=</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;select * from qlj_pm where pmid in (SELECT max(pmid) FROM qlj_pm where tuid='<span style="color: #006699; font-weight: bold;">{$qljid}</span>' GROUP BY fuid )&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">=</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$count</span><span style="color: #339933;">=</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;select count(pmid) from qlj_pm where (fuid='<span style="color: #006699; font-weight: bold;">{$res['fuid']}</span>' and tuid='<span style="color: #006699; font-weight: bold;">{$qljid}</span>') or  (fuid='<span style="color: #006699; font-weight: bold;">{$qljid}</span>' and tuid='<span style="color: #006699; font-weight: bold;">{$res['fuid']}</span>')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$res</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'count'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$count</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'count(pmid)'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//这个是条数</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100413/phpmysql-android-mms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php 全角转半角</title>
		<link>http://qlj.sh.cn/php/20100330/php-quanjiao-banjiao/</link>
		<comments>http://qlj.sh.cn/php/20100330/php-quanjiao-banjiao/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 20:47:59 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[输入]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1044</guid>
		<description><![CDATA[找了几个函数 目前用的是第一个,虽然。。。不是很帅。。但是还是比较准的 /** * 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符 * * @access public * @param string $str 待转换字串 * * @return string $str 处理后字串 */ function make_semiangle&#40;$str&#41; &#123; $arr = array&#40;'０' =&#62; '0', '１' =&#62; '1', '２' =&#62; '2', '３' =&#62; '3', '４' =&#62; '4', '５' =&#62; '5', '６' =&#62; '6', '７' =&#62; '7', '８' =&#62; '8', '９' =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>找了几个函数<br />
目前用的是第一个,虽然。。。不是很帅。。但是还是比较准的</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**  
 *  将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符  
 *  
 * @access  public  
 * @param   string       $str         待转换字串  
 *  
 * @return  string       $str         处理后字串  
 */</span>  
<span style="color: #000000; font-weight: bold;">function</span> make_semiangle<span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span>   
<span style="color: #009900;">&#123;</span>   
    <span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'０'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'１'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'２'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'３'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'3'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'４'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'4'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'５'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'5'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'６'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'6'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'７'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'7'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'８'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'8'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'９'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'9'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ａ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｂ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'B'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｃ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'C'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｄ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'D'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｅ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'E'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ｆ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'F'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｇ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'G'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｈ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'H'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｉ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'I'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｊ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'J'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ｋ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'K'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｌ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'L'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｍ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｎ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'N'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｏ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'O'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ｐ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'P'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｑ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Q'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｒ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'R'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｓ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'S'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｔ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'T'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ｕ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'U'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｖ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'V'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｗ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'W'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｘ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'X'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Ｙ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Y'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'Ｚ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Z'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ａ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｂ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'b'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｃ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'c'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｄ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'d'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'ｅ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'e'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｆ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'f'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｇ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'g'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｈ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'h'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｉ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'i'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'ｊ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'j'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｋ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'k'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｌ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'l'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｍ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'m'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｎ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'n'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'ｏ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'o'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｐ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'p'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｑ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'q'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｒ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'r'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｓ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'s'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'ｔ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'t'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｕ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'u'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｖ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'v'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｗ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'w'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｘ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'x'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'ｙ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'y'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ｚ'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'z'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'（'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'('</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'）'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">')'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'〔'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'['</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'〕'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'【'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'['</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'】'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'〖'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'['</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'〗'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'“'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'['</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'”'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'‘'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'['</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'’'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'｛'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'{'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'｝'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'}'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'《'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'&lt;'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'》'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'&gt;'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'％'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'%'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'＋'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'+'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'—'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'－'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'～'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'：'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">':'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'。'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'、'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'，'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'、'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'；'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'？'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'?'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'！'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'…'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'‖'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'|'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'”'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'&quot;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'’'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'`'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'‘'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'`'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'｜'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'|'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'〃'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'&quot;'</span><span style="color: #339933;">,</span>   
                 <span style="color: #0000ff;">'　'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">strtr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>另外还有一个<br />
看起来很帅的代码<br />
不过貌似有问题<br />
虽然全角是转半角了<br />
但是有部分中文字也出错了貌似。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #339933;">&amp;</span>StrToDBC<span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #339933;">,</span><span style="color: #000088;">$Encode</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'GBK'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Encode</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'UTF8'</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$str</span><span style="color: #339933;">=</span><span style="color: #990000;">mb_convert_encoding</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'UTF-8'</span><span style="color: #339933;">,</span><span style="color: #000088;">$Encode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$ret</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #000088;">$s1</span><span style="color: #339933;">=</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span>strlen<span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">=</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0x80</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$s2</span><span style="color: #339933;">=</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">++</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$s3</span><span style="color: #339933;">=</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">++</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$c</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0xF</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&lt;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0x3F</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&lt;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0x3F</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">12288</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$ret</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">65280</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #000088;">$c</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">65375</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$c</span><span style="color: #339933;">-=</span><span style="color: #cc66cc;">65248</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$ret</span><span style="color: #339933;">.=</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$ret</span><span style="color: #339933;">.=</span><span style="color: #000088;">$s1</span><span style="color: #339933;">.</span><span style="color: #000088;">$s2</span><span style="color: #339933;">.</span><span style="color: #000088;">$s3</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$ret</span><span style="color: #339933;">.=</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
 <span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100330/php-quanjiao-banjiao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP时间变成几秒前,几分前,几小时前,几天前SNS模式</title>
		<link>http://qlj.sh.cn/php/20100319/php-time-sns/</link>
		<comments>http://qlj.sh.cn/php/20100319/php-time-sns/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 15:54:05 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[sns]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1032</guid>
		<description><![CDATA[最近模仿UCHOME的DOING 我寸在MYSQL的时间都是unix时间。 function qtime&#40;$time&#41;&#123; $limit = time&#40;&#41; - $time; &#160; if&#40;$limit&#60;60&#41; $time=&#34;{$limit}秒前&#34;; if&#40;$limit&#62;=60 &#38;&#38; $limit&#60;3600&#41;&#123; $i = floor&#40;$limit/60&#41;; $_i = $limit%60; $s = $_i; $time=&#34;{$i}分{$s}秒前&#34;; &#125; if&#40;$limit&#62;=3600 &#38;&#38; $limit&#60;3600*24&#41;&#123; $h = floor&#40;$limit/3600&#41;; $_h = $limit%3600; $i = ceil&#40;$_h/60&#41;; $time=&#34;{$h}小时{$i}分前&#34;; &#125; if&#40;$limit&#62;=&#40;3600*24&#41; &#38;&#38; $limit&#60;&#40;3600*24*30&#41;&#41;&#123; $d = floor&#40;$limit/&#40;3600*24&#41;&#41;; $time= &#34;{$d}天前&#34;; &#125; if&#40;$limit&#62;=&#40;3600*24*30&#41;&#41;&#123; $time=gmdate&#40;'Y年n月j日', $time&#41;; &#125; return $time; [...]]]></description>
			<content:encoded><![CDATA[<p>最近模仿UCHOME的DOING<br />
我寸在MYSQL的时间都是unix时间。<br />
<span id="more-1032"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> qtime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$time</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       <span style="color: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$time</span><span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span>
       <span style="color: #000088;">$time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$limit}</span>秒前&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">60</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$limit</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$_i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$limit</span><span style="color: #339933;">%</span><span style="color:#800080;">60</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_i</span><span style="color: #339933;">;</span>
           <span style="color: #000088;">$time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$i}</span>分<span style="color: #006699; font-weight: bold;">{$s}</span>秒前&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">3600</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$limit</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$_h</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$limit</span><span style="color: #339933;">%</span><span style="color:#800080;">3600</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ceil</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_h</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$h}</span>小时<span style="color: #006699; font-weight: bold;">{$i}</span>分前&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">&gt;=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$limit</span><span style="color: #339933;">&lt;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$d</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$time</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$d}</span>天前&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">&gt;=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3600</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$time</span><span style="color: #339933;">=</span><span style="color: #990000;">gmdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y年n月j日'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$time</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$time</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>使用方法：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$res</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'postdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>qtime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'postdate'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>另外分享网上其他的代码</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> time_tran<span style="color: #009900;">&#40;</span><span style="color: #000088;">$the_time</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$now_time</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d H:i:s&quot;</span><span style="color: #339933;">,</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
   <span style="color: #000088;">$now_time</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$now_time</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$show_time</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$the_time</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$dur</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$now_time</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$show_time</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$the_time</span><span style="color: #339933;">;</span> 
   <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #000088;">$dur</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'秒前'</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'分钟前'</span><span style="color: #339933;">;</span> 
     <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'小时前'</span><span style="color: #339933;">;</span> 
      <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">259200</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #666666; font-style: italic;">//3天内</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dur</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'天前'</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$the_time</span><span style="color: #339933;">;</span> 
       <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
     <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>后来发现了个更简单的</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> format_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span><span style="color: #000088;">$isShowDate</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$date</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$limit</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'秒钟之前'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">60</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$limit</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'分钟之前'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">3600</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$limit</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'小时之前'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">86400</span> and <span style="color: #000088;">$limit</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">259200</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'天之前'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$limit</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">259200</span> and <span style="color: #000088;">$isShowDate</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y-m-d H:i:s'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100319/php-time-sns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php jquery ajax中文乱码</title>
		<link>http://qlj.sh.cn/php/20100316/php-jquery-ajax-luanma/</link>
		<comments>http://qlj.sh.cn/php/20100316/php-jquery-ajax-luanma/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 08:12:58 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1024</guid>
		<description><![CDATA[PHP发送中文、Ajax接收 只需在php顶部加入一句： header&#40;'Content-type: text/html;charset=GB2312'&#41;; xmlHttp会正确解析其中的中文。 Ajax发送中文、PHP接收 这个比较复杂： Ajax中先用encodeURIComponent对要提交的中文进行编码 PHP中： $view=iconv&#40; 'UTF-8', 'gb2312//IGNORE' , $_POST&#91;'view'&#93;&#41;;]]></description>
			<content:encoded><![CDATA[<p>PHP发送中文、Ajax接收<br />
只需在php顶部加入一句：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-type: text/html;charset=GB2312'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>xmlHttp会正确解析其中的中文。</p>
<p>Ajax发送中文、PHP接收<br />
这个比较复杂：<br />
Ajax中先用encodeURIComponent对要提交的中文进行编码<br />
PHP中：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$view</span><span style="color: #339933;">=</span><span style="color: #990000;">iconv</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gb2312//IGNORE'</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'view'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100316/php-jquery-ajax-luanma/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PHP使用reCAPTCHA作为验证码来保护您的网站</title>
		<link>http://qlj.sh.cn/php/20100315/php-recaptcha/</link>
		<comments>http://qlj.sh.cn/php/20100315/php-recaptcha/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 10:02:02 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[验证码]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1021</guid>
		<description><![CDATA[CAPTCHA，其全称是“全自动区分计算机和人类的图灵测试”（completely automated public Turing test to tell computers and humans apart）。 现在通过使用 Google免费的reCAPTCHA服务，您可以轻松地在您自己的网站上利用这项技术。 首先 我们需要申请一个 KEY 类似于GOOGLE MAP的API KEY一样 在reCAPTCHA网站注册一个API key(免费)。并记录下你的private key和 public key。 https://admin.recaptcha.net/accounts/signup/ 然后去GOOGLE CODE 下载类库 http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest 调用类 require_once&#40;'recaptchalib.php'&#41;; $publickey = &#34;...&#34;; // you got this from the signup page echo recaptcha_get_html&#40;$publickey&#41;; 验证部分 require_once&#40;'recaptchalib.php'&#41;; $privatekey = &#34;...&#34;; $resp = recaptcha_check_answer &#40;$privatekey, $_SERVER&#91;&#34;REMOTE_ADDR&#34;&#93;, $_POST&#91;&#34;recaptcha_challenge_field&#34;&#93;, [...]]]></description>
			<content:encoded><![CDATA[<p>CAPTCHA，其全称是“全自动区分计算机和人类的图灵测试”（completely automated public Turing test to tell computers and humans apart）。<br />
现在通过使用 Google免费的reCAPTCHA服务，您可以轻松地在您自己的网站上利用这项技术。<br />
首先<br />
我们需要申请一个 KEY<br />
类似于GOOGLE MAP的API KEY一样<br />
在reCAPTCHA网站注册一个API key(免费)。并记录下你的private key和 public key。<br />
<a href="https://admin.recaptcha.net/accounts/signup/">https://admin.recaptcha.net/accounts/signup/</a><br />
然后去GOOGLE CODE 下载类库<br />
<a href="http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest">http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest</a></p>
<p>调用类</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'recaptchalib.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$publickey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// you got this from the signup page</span>
<span style="color: #b1b100;">echo</span> recaptcha_get_html<span style="color: #009900;">&#40;</span><span style="color: #000088;">$publickey</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>验证部分</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'recaptchalib.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$privatekey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$resp</span> <span style="color: #339933;">=</span> recaptcha_check_answer <span style="color: #009900;">&#40;</span><span style="color: #000088;">$privatekey</span><span style="color: #339933;">,</span>
                                <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                                <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;recaptcha_challenge_field&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                                <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;recaptcha_response_field&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$resp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is_valid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;The reCAPTCHA wasn't entered correctly. Go back and try it again.&quot;</span> <span style="color: #339933;">.</span>
       <span style="color: #0000ff;">&quot;(reCAPTCHA said: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$resp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>官方还提供了一个  EXAMPLE</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;html&gt;
  &lt;body&gt;
    &lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'recaptchalib.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$publickey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$privatekey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># the response from reCAPTCHA
</span><span style="color: #000088;">$resp</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;"># the error code from reCAPTCHA, if any
</span><span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># are we submitting the page?
</span><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;submit&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$resp</span> <span style="color: #339933;">=</span> recaptcha_check_answer <span style="color: #009900;">&#40;</span><span style="color: #000088;">$privatekey</span><span style="color: #339933;">,</span>
                                  <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                                  <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;recaptcha_challenge_field&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                                  <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;recaptcha_response_field&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$resp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is_valid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;You got it!&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;"># in a real application, you should send an email, create an account, etc
</span>  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;"># set the error code so that we can display it. You could also use
</span>    <span style="color: #666666; font-style: italic;"># die (&quot;reCAPTCHA failed&quot;), but using the error message is
</span>    <span style="color: #666666; font-style: italic;"># more user friendly
</span>    <span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$resp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> recaptcha_get_html<span style="color: #009900;">&#40;</span><span style="color: #000088;">$publickey</span><span style="color: #339933;">,</span> <span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;br/&gt;
    &lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;submit&quot; /&gt;
    &lt;/form&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/php/20100315/php-recaptcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

