<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[PHP常用代码片段]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Wed, 14 Mar 2018 01:20:49 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	<div class="code"><br/>/**<br/> * 高效判断远程文件是否存在<br/> * @param $file<br/> * @return bool 存在返回 true 不存在或者其他原因返回false<br/> */<br/>function remoteFileExist($file)<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(preg_match(&#039;/^http:&#92;/&#92;//&#039;,$file))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//远程文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(ini_get(&#039;allow_url_fopen&#039;))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(@fopen($file,&#039;r&#039;)) return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$parseurl=parse_url($file);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$host=$parseurl&#91;&#039;host&#039;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path=$parseurl&#91;&#039;path&#039;&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fp=fsockopen($host,80, $errno, $errstr, 10);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$fp)return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($fp,&quot;GET &#123;$path&#125; HTTP/1.1 &#92;r&#92;nhost:&#123;$host&#125;&#92;r&#92;n&#92;r&#92;n&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(preg_match(&#039;/HTTP&#92;/1.1 200/&#039;,fgets($fp,1024))) return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return file_exists($file);<br/>&#125;<br/><br/>/**<br/> * 对象obj 转数组array<br/> * @param $object<br/> * @return mixed<br/> */<br/>function object2array(&amp;$object) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$object =&nbsp;&nbsp;json_decode( json_encode( $object),true);<br/>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;$object;<br/>&#125;<br/><br/>/**<br/>* @param 字节大小 $size<br/>* @param 保留小数位数 $dec<br/>* 格式化文件大小<br/>*/<br/>function file_size($size, $dec=2) &#123;<br/>&nbsp;&nbsp;$a = array(&quot;B&quot;, &quot;KB&quot;, &quot;MB&quot;, &quot;GB&quot;, &quot;TB&quot;, &quot;PB&quot;);<br/>&nbsp;&nbsp;$pos = 0;<br/>&nbsp;&nbsp;while ($size &gt;= 1024) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; $size /= 1024;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos++;<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;return round($size,$dec).&quot; &quot;.$a&#91;$pos&#93;;<br/>&#125;<br/><br/>/**<br/>* 隐藏手机号中间4位<br/>* @param $phone<br/>* @return mixed<br/>*/<br/>function hidetel($phone)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$IsWhat = preg_match(&#039;/(0&#91;0-9&#93;&#123;2,3&#125;&#91;-&#93;?&#91;2-9&#93;&#91;0-9&#93;&#123;6,7&#125;&#91;-&#93;?&#91;0-9&#93;?)/i&#039;,$phone); <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($IsWhat == 1)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return preg_replace(&#039;/(0&#91;0-9&#93;&#123;2,3&#125;&#91;-&#93;?&#91;2-9&#93;)&#91;0-9&#93;&#123;3,4&#125;(&#91;0-9&#93;&#123;3&#125;&#91;-&#93;?&#91;0-9&#93;?)/i&#039;,&#039;$1****$2&#039;,$phone);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;preg_replace(&#039;/(1&#91;3587&#93;&#123;1&#125;&#91;0-9&#93;)&#91;0-9&#93;&#123;4&#125;(&#91;0-9&#93;&#123;4&#125;)/i&#039;,&#039;$1****$2&#039;,$phone);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/>/**<br/> * 时间格式化<br/> * @param $time<br/> * @return string<br/> */<br/>function formatTime($time) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$now_time = time();<br/>&nbsp;&nbsp;&nbsp;&nbsp;$t = $now_time - $time;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mon = (int) ($t / (86400 * 30));<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($mon &gt;= 1) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#039;一个月前&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$day = (int) ($t / 86400);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($day &gt;= 1) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $day . &#039;天前&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$h = (int) ($t / 3600);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($h &gt;= 1) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $h . &#039;小时前&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$min = (int) ($t / 60);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($min &gt;= 1) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $min . &#039;分钟前&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return &#039;刚刚&#039;;<br/>&#125;<br/><br/>/**<br/> * 时间格式化<br/> * @param $time<br/> * @return string<br/> */<br/>function pincheTime($time) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; $today&nbsp;&nbsp;=&nbsp;&nbsp;strtotime(date(&#039;Y-m-d&#039;)); //今天零点<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$here&nbsp;&nbsp; =&nbsp;&nbsp;(int)(($time - $today)/86400) ; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here==1)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#039;明天&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here==2) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#039;后天&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here&gt;=3 &amp;&amp; $here&lt;7)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $here.&#039;天后&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here&gt;=7 &amp;&amp; $here&lt;30)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#039;一周后&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here&gt;=30 &amp;&amp; $here&lt;365)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#039;一个月后&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($here&gt;=365)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$r = (int)($here/365).&#039;年后&#039;; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; $r;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp; return &#039;今天&#039;;<br/>&#125;<br/><br/>/**<br/>* <br/>* @param 时间戳 $time<br/>* 友好时间显示<br/>* @return <br/>*/<br/>function timeline($time)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(time()&lt;=$time)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return date(&quot;Y-m-d H:i:s&quot;,$time);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$t = time()-$time;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$f = array(&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;31536000&#039;=&gt;&#039;年&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;2592000&#039;=&gt;&#039;个月&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;604800&#039;=&gt;&#039;星期&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;86400&#039;=&gt;&#039;天&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;3600&#039;=&gt;&#039;小时&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;60&#039;=&gt;&#039;分钟&#039;,&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;1&#039;=&gt;&#039;秒&#039;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;foreach($f as $k=&gt;$v)&#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(0 != $c = floor($t/(int)$k))&#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $c.$v.&#039;前&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/>/**<br/> * 计算两个时间的时差<br/> * @param $begin_time<br/> * @param $end_time<br/> * @return array<br/> */<br/>function timeDiff($begin_time, $end_time) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($begin_time &lt; $end_time) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$starttime = $begin_time;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$endtime = $end_time;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$starttime = $end_time;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$endtime = $begin_time;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$timediff = $endtime - $starttime;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$days = intval( $timediff / 86400 );<br/>&nbsp;&nbsp;&nbsp;&nbsp;$remain = $timediff % 86400;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$hours = sprintf(&quot;%02d&quot;, intval( $remain / 3600 ));<br/>&nbsp;&nbsp;&nbsp;&nbsp;$remain = $remain % 3600;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mins = sprintf(&quot;%02d&quot;, intval( $remain / 60 ));<br/>&nbsp;&nbsp;&nbsp;&nbsp;$secs = sprintf(&quot;%02d&quot;,$remain % 60);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$res = array( &quot;day&quot; =&gt; $days, &quot;hour&quot; =&gt; $hours, &quot;min&quot; =&gt; $mins, &quot;sec&quot; =&gt; $secs );<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $res;<br/>&#125;<br/><br/>/**<br/> * 获取当前毫秒时间戳<br/> * @return string<br/> */<br/>function getMillisecond() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;list($t1, $t2) = explode(&#039; &#039;, microtime());<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $t2 .&nbsp;&nbsp;ceil( ($t1 * 1000) );<br/>&#125;<br/><br/>/**<br/> * 生成n位随机数<br/> * @param int $length<br/> * @return string<br/> */<br/>function createRandomKey($length=32) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$chars = &quot;abcdefghijklmnopqrstuvwxyz0123456789&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$str =&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for ( $i = 0; $i &lt; $length; $i++ )&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $str;<br/>&#125;<br/><br/>/**<br/> * 生成n位包含$string的随机数<br/> * @param int $length<br/> * @param string $str<br/> * @return string<br/> */<br/>function createRandomStringKey($length=32, $chars = &quot;abcdefghijklmnopqrstuvwxyz0123456789&quot;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$str =&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for ( $i = 0; $i &lt; $length; $i++ )&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $str;<br/>&#125;<br/><br/>/**<br/> * post的curl 兼容https<br/> * @param $url<br/> * @param $data<br/> * @return mixed<br/> */<br/>function curlPostForHttps($url, $data) &#123;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;$curl = curl_init();<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_CUSTOMREQUEST, &quot;POST&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_POSTFIELDS, $data);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_URL, $url);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_HTTPHEADER, array(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Content-Type: application/json&quot;, &quot;Content-Length: &quot;.strlen($data)));<br/>&nbsp;&nbsp;&nbsp;&nbsp;$result = json_decode(curl_exec($curl), true);<br/>&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;return $result;<br/><br/>&#125;<br/><br/>/**<br/> * 16进制颜色值转 rgb<br/> * @param $colour<br/> * @return array&#124;bool<br/> */<br/>function hex2rgb( $colour ) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ( $colour&#91;0&#93; == &#039;#&#039; ) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$colour = substr( $colour, 1 );<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ( strlen( $colour ) == 6 ) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list( $r, $g, $b ) = array( $colour&#91;0&#93; . $colour&#91;1&#93;, $colour&#91;2&#93; . $colour&#91;3&#93;, $colour&#91;4&#93; . $colour&#91;5&#93; );<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; elseif ( strlen( $colour ) == 3 ) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list( $r, $g, $b ) = array( $colour&#91;0&#93; . $colour&#91;0&#93;, $colour&#91;1&#93; . $colour&#91;1&#93;, $colour&#91;2&#93; . $colour&#91;2&#93; );<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$r = hexdec( $r );<br/>&nbsp;&nbsp;&nbsp;&nbsp;$g = hexdec( $g );<br/>&nbsp;&nbsp;&nbsp;&nbsp;$b = hexdec( $b );<br/>&nbsp;&nbsp;&nbsp;&nbsp;return array( &#039;red&#039; =&gt; $r, &#039;green&#039; =&gt; $g, &#039;blue&#039; =&gt; $b );<br/>&#125;<br/><br/>/**<br/> * 系统邮件发送函数<br/> * @param $address 收件人邮件<br/> * @param $title&nbsp;&nbsp;&nbsp;&nbsp;邮件标题<br/> * @param $message&nbsp;&nbsp;邮件内容<br/> * @return bool<br/> */<br/>function sendMail($address,$title,$message, $filePath=null) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail = new PHPMailer();<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置PHPMailer使用SMTP服务器发送Email<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;IsSMTP();<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置邮件的字符编码，若不指定，则为&#039;UTF-8&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;CharSet=&#039;UTF-8&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 添加收件人地址，可以多次使用来添加多个收件人<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;AddAddress($address);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// SMTP调试功能 0=关闭 1 = 错误和消息 2 = 消息<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;SMTPDebug = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置邮件正文<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Body=$message;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置邮件头的From字段。<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;From=config(&#039;mail.from&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置发件人名字<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;FromName=config(&#039;mail.fromName&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置邮件标题<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Subject=$title;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置SMTP服务器。<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Host=config(&#039;mail.host&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// SMTP服务器的端口号<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Port = config(&#039;mail.port&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置为&quot;需要验证&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;SMTPAuth=true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 启用SSL加密为true<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;SMTPSecure =true;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;// 添加附件<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($filePath != null) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;AddAttachment($filePath);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 设置用户名和密码。<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Username=config(&#039;mail.username&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$mail-&gt;Password=config(&#039;mail.password&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;// 发送邮件。<br/>&nbsp;&nbsp;&nbsp;&nbsp;return($mail-&gt;Send());<br/>&#125;<br/><br/>/**<br/> * 指定位置插入字符串<br/> * @param $str&nbsp;&nbsp;原字符串<br/> * @param $i&nbsp;&nbsp;&nbsp;&nbsp;插入位置<br/> * @param $substr 插入字符串<br/> * @return string 处理后的字符串<br/> */<br/>function insertToStr($str, $i, $substr)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//指定插入位置前的字符串<br/>&nbsp;&nbsp;&nbsp;&nbsp;$startstr=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for($j=0; $j&lt;$i; $j++)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$startstr .= $str&#91;$j&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//指定插入位置后的字符串<br/>&nbsp;&nbsp;&nbsp;&nbsp;$laststr=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for ($j=$i; $j&lt;strlen($str); $j++)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$laststr .= $str&#91;$j&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//将插入位置前，要插入的，插入位置后三个字符串拼接起来<br/>&nbsp;&nbsp;&nbsp;&nbsp;$str = $startstr . $substr . $laststr;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//返回结果<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $str;<br/>&#125;<br/><br/>/**<br/> * 阿拉伯数字转中文数字<br/> * @param $num<br/> * @return string<br/> */<br/>function ToChinaseNum($num)<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$char = array(&quot;零&quot;,&quot;一&quot;,&quot;二&quot;,&quot;三&quot;,&quot;四&quot;,&quot;五&quot;,&quot;六&quot;,&quot;七&quot;,&quot;八&quot;,&quot;九&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$dw = array(&quot;&quot;,&quot;十&quot;,&quot;百&quot;,&quot;千&quot;,&quot;万&quot;,&quot;亿&quot;,&quot;兆&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;$retval = &quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$proZero = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for($i = 0;$i &lt; strlen($num);$i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($i &gt; 0)&nbsp;&nbsp;&nbsp;&nbsp;$temp = (int)(($num % pow (10,$i+1)) / pow (10,$i));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else $temp = (int)($num % pow (10,1));<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($proZero == true &amp;&amp; $temp == 0) continue;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($temp == 0) $proZero = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else $proZero = false;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($proZero)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($retval == &quot;&quot;) continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$retval = $char&#91;$temp&#93;.$retval;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else $retval = $char&#91;$temp&#93;.$dw&#91;$i&#93;.$retval;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if($retval == &quot;一十&quot;) $retval = &quot;十&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return $retval;<br/>&#125;<br/></div>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] PHP常用代码片段]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>