<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[风之相随'S BLOG - PHP]]></title>
<link>http://www.windsfly.cn/blog/</link>
<description><![CDATA[做我所想，想我所做，做最好的自己。（Do my think，think my do，do best of myself。）]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[sf223cn@yahoo.com.cn(风之相随)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>风之相随&#39;S BLOG</title> 
	<url>http://www.windsfly.cn/blog/images/logos.gif</url> 
	<link>http://www.windsfly.cn/blog/</link> 
	<description>风之相随&#39;S BLOG</description> 
</image>

			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2025</link>
			<title><![CDATA[php图片验证码]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Wed,08 Sep 2010 23:35:22 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2025</guid>	
		<description><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;?<br/>//生成新的四位整数验证码<br/>session_start();//开始会话<br/>$authnum = &#39;&#39;; <br/>$str = &#39;abcdefghijkmnpqrstuvwxyz1234567890&#39;; <br/>$l = strlen($str); <br/>for($i=1;$i&lt;=4;$i++)<br/>{ <br/>$num=rand(0,$l); <br/>$authnum.= $str[$num]; <br/>}<br/>//生成SESSION变量<br/>$_SESSION[&#39;code&#39;]=$authnum;<br/>//生成验证码图片<br/>Header(&#34;Content-type: image/PNG&#34;);<br/>srand((double)microtime()*1000000);<br/>$im = imagecr&#101;ate(50,20);<br/>$black = ImageColorAllocate($im, 0,0,0);<br/>$white = ImageColorAllocate($im, 255,255,255);<br/>$gray = ImageColorAllocate($im, 200,200,200);<br/>imagefill($im,68,30,$gray);<br/>//将四位整数验证码绘入图片<br/>imagestring($im, 5, 6, 3, $authnum, $white);<br/>for($i=0;$i&lt;90;$i++) //加入干扰象素<br/>{<br/>imagesetpixel($im, rand()%70 , rand()%30 , $gray);<br/>}<br/>ImagePNG($im);<br/>ImageDestroy($im);<br/>?&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2024</link>
			<title><![CDATA[轻松学php图片验证码]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Wed,08 Sep 2010 23:20:57 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2024</guid>	
		<description><![CDATA[php图片验证技术关键的是用个函数<br/>imagestring()这个函数,老样子看下函数原型,对理解会有好大的帮助<br/>//int imagestring(resource image,int font,int x,int y,string s, int col);<br/>看下手册会有好多帮助<br/>imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x，y 座标处（图像的左上角为 0, 0）。如果 font 是 1，2，3，4 或 5，则使用内置字体。 <br/>这里主要有三个关键参数 <br/>resource image,string s ,int col<br/>1,<br/>下面来看看<br/>resource image ,int col<br/>这二个一起分析,为啥,慢慢来看<br/>这个image是划好的图<br/>要划图,要遵循几步<br/>1.1<br/>第一是创建图像文件流<br/>imagecr&#101;ate()当然用imagecr&#101;ateturecolor()也可以,<br/>这里用imagecr&#101;ate来例子,<br/>老方法看函数原型和手册的解释<br/>resource imagecr&#101;ate ( int x_size, int y_size)<br/>imagecr&#101;ate() 返回一个图像标识符，代表了一幅大小为 x_size 和 y_size 的空白图像。 <br/>那么咱们就可以使用它来创建一个空白图像.<br/>$im=imagecr&#101;ate(90,30);<br/>1.2<br/>因为是空白的,所以要找给它填充的颜色<br/>用到这个函数<br/>imagecolorallocate()<br/>看原型和手册<br/>int imagecolorallocate ( resource image, int red, int green, int blue)<br/>imagecolorallocate() 返回一个标识符，代表了由给定的 RGB 成分组成的颜色。image 参数是 imagecr&#101;ate() 函数的返回值。red，green 和 blue 分别是所需要的颜色的红，绿，蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。 <br/>看下最后一句,imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色,那么咱们来建立几种颜色,来方便以后的填充,同时这个颜色也是<br/>这里主要有三个关键参数 <br/>resource image,string s ,int col<br/>int col 的颜色设置<br/>我们来方便设置三个颜色吧<br/>$red=imagecolorallocate($im,255,0,0);<br/>$white = ImageColorAllocate($im, 255,255,255); <br/>$gray = ImageColorAllocate($im, 200,200,200); <br/>这三个不用解释了吧,就是r g b 配合出来的颜色.<br/>1.3,<br/>既然空白图像和填充颜色已经出来了,那我们来填充吧<br/>用到这个函数<br/>imagefill()<br/>int imagefill ( resource image, int x, int y, int color)<br/>imagefill() 在 image 图像的坐标 x，y（图像左上角为 0, 0）处用 color 颜色执行区域填充（即与 x, y 点颜色相同且相邻的点都会被填充）。<br/>imagefill($im,0,0,$white);//用白色填充是为了让干扰素更好的起作用<br/>那这样我的三个参数中其中二个参数已经解决了,resource image,int col<br/>我们来看第二个参数string s;<br/><br/>2<br/>第二个参数string s<br/>2,1<br/>因为是验证码,防止恶意攻击,那么一定要设置成随机出来的那样才不会出问题,<br/>srand((double)microtime()*1000000);//播下一个生成随机数字的种子，以方便下面随机数生成的使用,<br/>生成数字和字母混合的验证码<br/>$ychar=&#34;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z&#34;;<br/>$list=explode(&#34;,&#34;,$ychar);//explode函数比较简单,就是提前每个间隔,的字符并把他们组成数组,不理解的看下手册吧,很容易理解的<br/>已经产生了一个包含这36个字符的数组,剩下的就是让他们产生随机的四位数了<br/>for($i=0;$i&lt;4;$i++){<br/>&nbsp;&nbsp;$randnum=rand(0,35);<br/>&nbsp;&nbsp;$authnum.=$list[$randnum].&#34; &#34;;//ed 加入一个空格<br/>}<br/>这个循环,循环的次数是四次,我还是在解释下吧,其实很简单,<br/>假设第一次循环,rand(0,35)意思是随机出现0到35之间的数组<br/>假设是第0个,那么就是1 $authnum=1.&#34;&#34;;<br/>第二次循环<br/>如果$randum=12,那么$authnum=1.$list[$randnum].&#34;&#34;; <br/>也就是$authnum=1 C;<br/>如此循环到第四位,<br/>那么就这样产生了随机的四位数,<br/><br/>既然三个参数我们都解决了,那么就可以用<br/>imagestring()函数来创建图片了,<br/>imagestring($im, 5, 10, 3, $authnum, $red);<br/>创建了以后,我们要输出图片<br/>imagepng($im);<br/>imagedestroy($im);<br/>同时我们要在文件头说明,要输出的文件的类型<br/>Header(&#34;Content-type: image/PNG&#34;);<br/><br/>3<br/>其实功能是实现了,但是为了更好的安全,我们要加入干扰素,<br/>啥是干扰素就是干扰的因素呗,哈<br/>用到这个函数<br/>int imagesetpixel ( resource image, int x, int y, int color)<br/>imagesetpixel() 在 image 图像中用 color 颜色在 x, y 坐标（图像左上角为 0, 0）上画一个点。<br/>看他的解释,在画一个点,所以咱们肯定要用个循环了,<br/>就是多画几个点,哈<br/>for($i=0;$i&lt;400;$i++){ //加入干扰象素 <br/>$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));<br/>imagesetpixel($im, rand()%90 , rand()%30 , $gray); <br/>} <br/>for循环的第一个,产生随机的颜色,当然也可以使用咱们上面定义的<br/>这里用的就是上面定义的$gray,那个400是产生的像素点的个数<br/>没啥要解释的了吧<br/><br/>顺便把我看的那个好的文章帖下来,<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;?php<br/>//FileName:authimg.php<br/>//Description:<br/>//Cr&#101;ater:alvar<br/>//Cr&#101;atetime:2006-5-4<br/>//Lastmodtime:<br/>session_start();<br/>?&gt;<br/>&lt;?php <br/>//生成验证码图片 <br/>Header(&#34;Content-type: image/PNG&#34;); <br/>srand((double)microtime()*1000000);//播下一个生成随机数字的种子，以方便下面随机数生成的使用<br/>//session_start();//将随机数存入session中<br/>$_SESSION[&#39;authnum&#39;]=&#34;&#34;;<br/>$im = imagecr&#101;ate(90,20) o&#114; die(&#34;Cant&#39;s initialize new GD image stream!&#34;);&nbsp;&nbsp;//制定图片背景大小<br/>$red = ImageColorAllocate($im, 255,0,0); //设定三种颜色<br/>$white = ImageColorAllocate($im, 255,255,255); <br/>$gray = ImageColorAllocate($im, 200,200,200); <br/>//imagefill($im,0,0,$gray); //采用区域填充法，设定（0,0）<br/>imagefill($im,0,0,$white);//ed<br/>//生成数字和字母混合的验证码方法<br/>$ychar=&#34;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z&#34;;<br/>$list=explode(&#34;,&#34;,$ychar);<br/>for($i=0;$i&lt;4;$i++){<br/>&nbsp;&nbsp;$randnum=rand(0,35);<br/>&nbsp;&nbsp;$authnum.=$list[$randnum].&#34; &#34;;//ed 加入一个空格<br/>}<br/>//while(($authnum=rand()%100000)&lt;10000); //生成随机的四位数<br/>//将四位整数验证码绘入图片 <br/>$_SESSION[&#39;authnum&#39;]=$authnum;<br/>//int imagestring(resource image,int font,int x,int y,string s, int col)<br/>imagestring($im, 5, 10, 3, $authnum, $red);<br/>//用col颜色将字符串s画到image所代表的图像的x，y座标处（图像的左上角为0,0）。<br/>//如果 font 是 1，2，3，4 或 5，则使用内置字体<br/><br/>for($i=0;$i&lt;400;$i++){ //加入干扰象素 { <br/>$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));<br/>// imagesetpixel($im, rand()%90 , rand()%30 , $randcolor); <br/>imagesetpixel($im, rand()%90 , rand()%30 , $gray); <br/>} <br/>ImagePNG($im); <br/>ImageDestroy($im); <br/>?&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2022</link>
			<title><![CDATA[一个sql语句的面试题]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Wed,08 Sep 2010 22:08:28 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2022</guid>	
		<description><![CDATA[用一条sql语句删除user表中name字段重复数据，保留id最小的数据<br/>表user<br/>id name<br/>1&nbsp;&nbsp;Jake<br/>2&nbsp;&nbsp;Luke<br/>3&nbsp;&nbsp;Lily<br/>4&nbsp;&nbsp;Jake<br/>5&nbsp;&nbsp;Luke<br/>6&nbsp;&nbsp;Jake<br/>最终结果为：<br/>id name<br/>1&nbsp;&nbsp;Jake<br/>2&nbsp;&nbsp;Luke<br/>3&nbsp;&nbsp;Lily<br/><br/>解决方法：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">del&#101;te test as a from test as a,<br/>(sel&#101;ct *, min(id) from test group by name having<br/>count(1)&gt;1) as b wh&#101;re a.name=b.name and a.id&gt;b.id</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2021</link>
			<title><![CDATA[一个中文折扣的函数]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Wed,08 Sep 2010 21:54:59 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2021</guid>	
		<description><![CDATA[如100元的商品，10元出售，求出商品的折扣数，并以返回中文折扣数，如九折，九五折。<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">$n=93;$price=100;<br/>$num=round($n/$price,2)*100;<br/><br/>if($num&lt;10) $str=&#39;降价&#39;;<br/>elseif ($num==100) $str=&#39;原价&#39;;<br/>elseif ($num&gt;100) $str=&#39;升价&#39;;<br/>else $str=str_replace(range(0,9),Array(&#39;&#39;,&#39;一&#39;,&#39;二&#39;,&#39;三&#39;,&#39;四&#39;,&#39;五&#39;,&#39;六&#39;,&#39;七&#39;,&#39;八&#39;,&#39;九 &#39;),$num).&#39;折&#39;;<br/><br/>echo $str;</div></div><br/><br/>写一句话把 2010-09-21 或 2010/09/21 形式的日期转化为“二零一零年九月二十一日” 形式<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">echo str_replace(range(0,9),Array(&#39;零&#39;,&#39;壹&#39;,&#39;贰&#39;,&#39;叁&#39;,&#39;肆&#39;,&#39;五&#39;,&#39;陆&#39;,&#39;柒&#39;,&#39;捌&#39;,&#39;玖 &#39;),date(&#39;Y年n月j日&#39;,strtotime(&#39;2010/4/6&#39;)));</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2009</link>
			<title><![CDATA[php checkbox复选框值的获取与checkbox默认值输出方法]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Tue,24 Aug 2010 09:03:03 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2009</guid>	
		<description><![CDATA[php获取 checkbox复选框值的方法 <br/>代码如下:<br/>&lt;html xmlns=&#34;<a href="http://www.jb51.net/1999/xhtml" target="_blank">http://www.jb51.net/1999/xhtml</a>&#34;&gt; <br/>&lt;head&gt; <br/>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt; <br/>&lt;title&gt;php获取 checkbox复选框值的方法&lt;/title&gt; <br/>&lt;/head&gt; <br/>&lt;body&gt; <br/>&lt;form name=&#34;form1&#34; method=&#34;post&#34; action=&#34;&#34;&gt; <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; name=&#34;checkbox[]&#34; value=&#34;复选一&#34;&gt; <br/>复选一 <br/>&lt;/label&gt; <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; name=&#34;checkbox[]&#34; value=&#34;复选二&#34;&gt; <br/>&lt;/label&gt; <br/>复选二 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; name=&#34;checkbox[]&#34; value=&#34;复选三&#34;&gt; <br/>&lt;/label&gt; <br/>复选三 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; name=&#34;checkbox[]&#34; value=&#34;复选四&#34;&gt; <br/>&lt;/label&gt; <br/>复选四 <br/>&lt;label&gt; <br/>&lt;input type=&#34;submit&#34; name=&#34;Submit&#34; value=&#34;提交&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/form&gt; <br/>&lt;/body&gt; <br/>&lt;/html&gt; <br/>&lt;? <br/>if( $_POST ) <br/>{ <br/>$value = $_POST[&#39;checkbox&#39;]; <br/>echo &#39;你选择了:&#39;.implode(&#39;,&#39;,$value); <br/>//由于checkbox属性，我们必须把checkbox复选择框的名字设置为一个如果checkbox[]，这样php才能读取，以数据形式,否则不能正确的读取checkbox复选框的值哦。//脚本之家 jb51.net 整理 <br/>} <br/>?&gt; <br/><br/><br/>checkbox在php读取值时要用数组形式哦，我们读取这些值用php post获取是以一个array形式哦， <br/>代码如下:<br/>&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;&gt; <br/>&lt;html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34;&gt; <br/>&lt;head&gt; <br/>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt; <br/>&lt;title&gt;php获取多选框checkbox值&lt;/title&gt; <br/>&lt;/head&gt; <br/>&lt;body&gt; <br/>&lt;?php <br/>$area_arr = array(); <br/>if($_GET[&#39;action&#39;]==&#34;submit&#34;){ <br/>$area_arr = $_POST[&#39;area&#39;]; <br/>} <br/>echo &#34;您选定的地区为: &#34;; <br/>foreach ($area_arr as $k=&gt;$v){ <br/>echo $v.&#34; &#34;; <br/>} <br/>?&gt; <br/>&lt;form id=&#34;form1&#34; name=&#34;form1&#34; method=&#34;post&#34; action=&#34;?action=submit&#34;&gt; <br/>&lt;p&gt;河北 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area&#34; name=&#34;area[]&#34; value=&#34;河北&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt;河南 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area[]&#34; name=&#34;area[]&#34; value=&#34;河南&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt;山西 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area[]&#34; name=&#34;area[]&#34; value=&#34;山西&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt;山东 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area[]&#34; name=&#34;area[]&#34; value=&#34;山东&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt;江苏 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area[]&#34; name=&#34;area[]&#34; value=&#34;江苏&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt;浙江 <br/>&lt;label&gt; <br/>&lt;input type=&#34;checkbox&#34; id=&#34;area[]&#34; name=&#34;area[]&#34; value=&#34;浙江&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt; <br/>&lt;label&gt; <br/>&lt;input type=&#34;submit&#34; name=&#34;Submit&#34; value=&#34;提交&#34;&gt; <br/>&lt;/label&gt; <br/>&lt;/p&gt; <br/>&lt;/form&gt; <br/>&lt;/body&gt; <br/>&lt;/html&gt; <br/><br/>php checkbox默认选择问题（都是利用的这种原理） <br/>代码如下:<br/>&lt;input name=&#34;jb51&#34; type=&#34;checkbox&#34; value=&#34;jiaju&#34; &lt;?php if($myrow[fujia_jiaju]) echo(&#34;checked&#34;);?&gt;&gt; ]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2008</link>
			<title><![CDATA[mysql查询今天、昨天、7天、近30天、本月、上一月 数据]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Mon,23 Aug 2010 22:03:26 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2008</guid>	
		<description><![CDATA[查询<br/><br/>今天<br/><br/>sel&#101;ct * from 表名 wh&#101;re to_days(时间字段名) = to_days(now());<br/><br/>昨天<br/><br/>Sel&#101;ct * FROM 表名 Wh&#101;re TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) &lt;= 1<br/><br/>7天<br/><br/>Sel&#101;ct * FROM 表名 wh&#101;re DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;= date(时间字段名)<br/><br/>近30天<br/><br/>Sel&#101;ct * FROM 表名 wh&#101;re DATE_SUB(CURDATE(), INTERVAL 30 DAY) &lt;= date(时间字段名)<br/><br/>本月<br/><br/>Sel&#101;ct * FROM 表名 Wh&#101;re DATE_FORMAT( 时间字段名, ‘%Y%m’ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m’ )<br/><br/>上一月<br/><br/>Sel&#101;ct * FROM 表名 Wh&#101;re PERIOD_DIFF( date_format( now( ) , ‘%Y%m’ ) , date_format( 时间字段名, ‘%Y%m’ ) ) =1<br/><br/>同时，再附上 一个 mysql官方的相关document<br/><br/><a href="http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html" target="_blank">http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html</a><br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2007</link>
			<title><![CDATA[php遍历一个文件夹下的所有文件和子文件夹]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Mon,23 Aug 2010 21:52:21 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2007</guid>	
		<description><![CDATA[在面试中我们经常遇到这个题目：php遍历一个文件夹下的所有文件和子文件夹。<br/><br/>这个题目有好多种解决方法。但大致思路都一样。采用递归。<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"> $path = &#39;./curl&#39;;&nbsp;&nbsp; <br/> function getfiles($path)&nbsp;&nbsp; <br/> {&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; if(!is_dir($path)) return;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$handle&nbsp;&nbsp;= opendir($path);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;while( false !== ($file = readdir($handle)))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($file != &#39;.&#39;&nbsp;&nbsp;&amp;&amp;&nbsp;&nbsp;$file!=&#39;..&#39;)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path2= $path.&#39;/&#39;.$file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_dir($path2))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#39;&nbsp;&nbsp;<br/>&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getfiles($path2);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &#39;&nbsp;&nbsp;<br/>&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;print_r( getfiles($path));&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>echo &#39;&nbsp;&nbsp;<br/>&lt;HR&gt;&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>function getdir($path)&nbsp;&nbsp; <br/>{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;if(!is_dir($path)) return;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$handle = dir($path);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;while($file=$handle-&gt;read())&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($file!=&#39;.&#39; &amp;&amp; $file!=&#39;..&#39;)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path2 = $path.&#39;/&#39;.$file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_dir($path2))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file.&#34;\t&#34;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getdir($path2);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file.&#39;&nbsp;&nbsp;<br/>&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/> getdir($path);&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/> echo &#39;&nbsp;&nbsp;<br/>&lt;HR&gt;&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/> function get_dir_scandir($path){&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$tree = array();&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;foreach(scandir($path) as $single){&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($single!=&#39;.&#39; &amp;&amp; $single!=&#39;..&#39;)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path2 = $path.&#39;/&#39;.$single;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_dir($path2))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&nbsp;$single.&#34;&nbsp;&nbsp;<br/>\r\n&#34;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_dir_scandir($path2);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $single.&#34;&nbsp;&nbsp;<br/>\r\n&#34;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>get_dir_scandir($path);&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;echo &#39;&nbsp;&nbsp;<br/>&lt;HR&gt;&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>function get_dir_glob(){&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$tree = array();&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;foreach(glob(&#39;./curl/*&#39;) as $single){&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $single.&#34;&nbsp;&nbsp;<br/>\r\n&#34;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>get_dir_glob();&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp; echo &#39;&nbsp;&nbsp;<br/>&lt;HR&gt;&#39;;&nbsp;&nbsp; <br/>function myscandir($path)&nbsp;&nbsp; <br/>{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;if(!is_dir($path))&nbsp;&nbsp;return;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;foreach(scandir($path) as $file)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($file!=&#39;.&#39;&nbsp;&nbsp;&amp;&amp; $file!=&#39;..&#39;)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path2= $path.&#39;/&#39;.$file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_dir($path2))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myscandir($path2);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file.&#39;&nbsp;&nbsp;<br/>&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>myscandir($path);&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp; echo &#39;&nbsp;&nbsp;<br/>&lt;HR&gt;&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>function myglob($path)&nbsp;&nbsp; <br/>{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$path_pattern = $path.&#39;/*&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;foreach(glob($path_pattern) as $file)&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_dir($file))&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myscandir($file);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $file.&#39;&nbsp;&nbsp;<br/>&#39;;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>&nbsp;&nbsp;<br/>myglob($path);</div></div>&nbsp;&nbsp;<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2006</link>
			<title><![CDATA[php发送邮件，phpmailer]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Mon,23 Aug 2010 13:51:45 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2006</guid>	
		<description><![CDATA[php本身提供了一个邮件发送函数mail，可以在程序中直接发送电子邮件，不过该函数要求服务器支持sendmail<br/><br/>或者必须设置一台不需要中继的邮件发送服务器，但现在要找到一台不需要身份验证的邮件发送中继几乎不可能．<br/><br/>所以使用mail函数往往无法成功发送email．<br/><br/>　自己如果熟悉SMTP协议，结合socket功能就可以编写高效稳定的邮件发送程序，但对一般用户来说太困难．好在互联网上已经有很多别人编写好的邮件发送模块，我们只需要下载后简单调用即可，十分方便．<br/><br/>　在此我们给用户推荐一个php下功能十分强大，易用且免费的SMTP类模块－PHPMailer,(下载地址<a href="http://www.phpe.net/class/32.shtml" target="_blank">http://www.phpe.net/class/32.shtml</a>)<br/><br/>PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括：<br/><br/>*.在发送邮时指定多个收件人，抄送地址，暗送地址和回复地址<br/><br/>*.支持多种邮件编码包括：8bit，base64，binary和quoted-printable<br/><br/>*.支持SMTP验证<br/><br/>*.支持冗余SMTP服务器<br/><br/>*.支持带附件的邮件和Html格式的邮件<br/><br/>*.自定义邮件头<br/><br/>*.支持在邮件中嵌入图片<br/><br/>*.调试灵活<br/><br/>*.经测试兼容的SMTP服务器包括：Sendmail,qmail,Postfix,Imail,Exchange等<br/><br/>*.可运行在任何平台之上<br/><br/>　下载该组件后，按如下示例编写代码即可实现php在线发送邮件．<br/><br/>　<br/><br/>一：前台表单<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;html&gt;<br/><br/>&lt;body&gt;<br/><br/>&lt;h3&gt;phpmailer Unit Test&lt;/h3&gt;<br/><br/>请你输入&lt;font color=&#34;#FF6666&#34;&gt;收信&lt;/font&gt;的邮箱地址:<br/><br/>&lt;form name=&#34;phpmailer&#34; action=&#34;send.php&#34; method=&#34;post&#34;&gt;<br/><br/>&lt;input type=&#34;hidden&#34; name=&#34;submitted&#34; value=&#34;1&#34;/&gt;<br/><br/>邮箱地址: &lt;input type=&#34;text&#34; size=&#34;50&#34; name=&#34;address&#34; /&gt;<br/><br/>&lt;br/&gt;<br/><br/>&lt;input type=&#34;submit&#34; value=&#34;发送&#34;/&gt;<br/><br/>&lt;/form&gt;<br/><br/>&lt;/body&gt;<br/><br/>&lt;/html&gt;</div></div><br/><br/>　二：后台PHP程序<br/><br/>　<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;?php<br/><br/>require(&#34;class.phpmailer.php&#34;); //下载的文件必须放在该文件所在目录<br/><br/>$mail = new PHPMailer(); //建立邮件发送类<br/><br/>$address = $_POST[&#39;address&#39;]; <br/><br/>$mail-&gt;IsSMTP(); // 使用SMTP方式发送<br/><br/>$mail-&gt;Host = &#34;mail.xxxxx.com&#34;; // 您的企业邮局域名<br/><br/>$mail-&gt;SMTPAuth = true; // 启用SMTP验证功能<br/><br/>$mail-&gt;Username = &#34;user@xxxx.com&#34;; // 邮局用户名(请填写完整的email地址)<br/><br/>$mail-&gt;Password = &#34;******&#34;; // 邮局密码<br/><br/>$mail-&gt;From = &#34;user@xxxx.com&#34;; //邮件发送者email地址<br/><br/>$mail-&gt;FromName = &#34;您的名称&#34;;<br/><br/>$mail-&gt;AddAddress(&#34;$address&#34;, &#34;&#34;);//收件人地址，可以替换成任何想要接收邮件的email信箱,格式是AddAddress(&#34;收件人email&#34;,&#34;收件人姓名&#34;)<br/><br/>//$mail-&gt;AddReplyTo(&#34;&#34;, &#34;&#34;);<br/><br/>//$mail-&gt;AddAttachment(&#34;/var/tmp/file.tar.gz&#34;); // 添加附件<br/><br/>//$mail-&gt;IsHTML(true); // set email format to HTML //是否使用HTML格式<br/><br/>$mail-&gt;Subject = &#34;PHPMailer测试邮件&#34;; //邮件标题<br/><br/>$mail-&gt;Body = &#34;Hello,这是测试邮件&#34;; //邮件内容<br/><br/>$mail-&gt;AltBody = &#34;This is the body in plain text for non-HTML mail clients&#34;; //附加信息，可以省略<br/><br/>if(!$mail-&gt;Send())<br/><br/>{<br/><br/>echo &#34;邮件发送失败. &lt;p&gt;&#34;;<br/><br/>echo &#34;错误原因: &#34; . $mail-&gt;ErrorInfo;<br/><br/>exit;<br/><br/>}<br/><br/>echo &#34;邮件发送成功&#34;;<br/><br/>?&gt;</div></div><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2005</link>
			<title><![CDATA[今天解决的smarty嵌套循环，二级分类问题，实际项目中已测试通过]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Mon,23 Aug 2010 13:46:56 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2005</guid>	
		<description><![CDATA[今天解决的smarty嵌套循环，二级分类问题，实际项目中已测试通过<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">if ($do == &#39;newsadd&#39;)<br/>{<br/>&#160;&#160;&#160;&#160;$querybig = $DB-&gt;query(&#34;sel&#101;ct * from {$db_prefix}bigclass o&#114;der by bigorder asc&#34;);<br/>&#160;&#160;&#160;&#160;while ($rowbig = $DB-&gt;fetch_array($querybig))<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$arrbigcate[] = array(&#34;bigclassid&#34;=&gt;$rowbig[&#39;bigclassid&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;bigclassname&#34;=&gt;$rowbig[&#39;bigclassname&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;bigorder&#34;=&gt;$rowbig[&#39;bigorder&#39;]);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$bigclassid = $rowbig[&#39;bigclassid&#39;];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$querysmall = $DB-&gt;query(&#34;sel&#101;ct * from {$db_prefix}smallclass wh&#101;re bigclassid=$bigclassid o&#114;der by smallorder asc&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;while ($rowsmall = $DB-&gt;fetch_array($querysmall))<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//$arrsmallcate[] = array(&#34;smallclassid&#34;=&gt;$rowsmall[&#39;smallclassid&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$arrbigcate[count($arrbigcate)-1][arrsmallcate][] = array(&#34;smallclassid&#34;=&gt;$rowsmall[&#39;smallclassid&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;bigclassid&#34;=&gt;$rowsmall[&#39;bigclassid&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;smallclassname&#34;=&gt;$rowsmall[&#39;smallclassname&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;smallorder&#34;=&gt;$rowsmall[&#39;smallorder&#39;]);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;//print_r($arrbigcate);<br/>&#160;&#160;&#160;&#160;$smarty-&gt;assign(&#39;big&#39;,$arrbigcate);<br/>&#160;&#160;&#160;&#160;editor(&#39;intro&#39;, &#39;&#39;);<br/>&#160;&#160;&#160;&#160;editor_admin(&#39;content&#39;, &#39;&#39;);<br/>&#160;&#160;&#160;&#160;$smarty-&gt;display(&#39;news_add.html&#39;);<br/>}</div></div><br/><br/>html部分：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.windsfly.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;sel&#101;ct name=&#34;cate&#34; id=&#34;cate&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#160;&#160;&#160;&#160;&lt;option&gt;&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;{section name=bigclass loop=$big}&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;optgroup label=&#34;&lt;{$big[bigclass].bigclassname}&gt;&#34;&gt;&lt;/optgroup&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;{section name=smallclass loop=$big[bigclass].arrsmallcate}&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=&#34;&lt;{$big[bigclass].arrsmallcate[smallclass].smallclassid}&gt;&#34;&gt;&lt;{$big[bigclass].arrsmallcate[smallclass].smallclassname}&gt;&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;{/section}&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;{/section}&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/sel&#101;ct&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.windsfly.cn/blog/default.asp?id=2004</link>
			<title><![CDATA[smarty嵌套循环思路]]></title>
			<author>sf223cn@yahoo.com.cn(admin)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Mon,23 Aug 2010 13:38:01 +0800</pubDate>
			<guid>http://www.windsfly.cn/blog/default.asp?id=2004</guid>	
		<description><![CDATA[把子分类组织成数组,作为主分类的一个元素.结构类似这样的.<br/>array(array(&#39;title&#39;=&gt;&#39;大分类一&#39;,&#39;Sloop&#39;=&gt;array(&#39;title&#39;=&gt;&#39;子分类一&#39;)))<br/>我习惯用section,所以用section给你举例子.<br/>{section name=t1 loop=$Cloop}<br/> &lt;dl&gt;<br/> &lt;dt&gt;&lt;a href=&#34;#&#34;&gt;&lt;{$Cloop[t1].Title}&gt;&lt;/a&gt;&lt;/dt&gt;//大分类的标题<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;{section name=t2 loop=$Cloop[t1].Sloop}//处理大分类下的小分类,sloop是一个数组.<br/>&nbsp;&nbsp; &lt;dd&gt;&lt;a href=&#34;#&#34;&gt;&lt;{$Cloop[t1].Sloop[t2].Title}&gt;&lt;/a&gt;&lt;/dd&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; {/section}<br/> &lt;dl&gt; <br/>{/section} ]]></description>
		</item>
		
</channel>
</rss>