﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-&amp;豪-文章分类-php学习与实践</title><link>http://www.cppblog.com/qywyh/category/532.html</link><description>豪-&gt;blog</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 03:52:49 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 03:52:49 GMT</pubDate><ttl>60</ttl><item><title>[zz]Xajax乱码解决办法</title><link>http://www.cppblog.com/qywyh/articles/28526.html</link><dc:creator>豪</dc:creator><author>豪</author><pubDate>Sat, 21 Jul 2007 14:25:00 GMT</pubDate><guid>http://www.cppblog.com/qywyh/articles/28526.html</guid><wfw:comment>http://www.cppblog.com/qywyh/comments/28526.html</wfw:comment><comments>http://www.cppblog.com/qywyh/articles/28526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qywyh/comments/commentRss/28526.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qywyh/services/trackbacks/28526.html</trackback:ping><description><![CDATA[<p>Xajax乱码解决办法</p>
<p>用xajax给blog写了几个AJAX的应用，比如这个搜索页面，挺容易的，xajax到底是现在PHP下面最好的module，而且是为数不多的支持中文。</p>
<p>不过在开发中还是遇到中文乱码的问题，因为xajax的XMLHTTP对象Post表单的时候，是默认的用UTF-8字符来发送的。如果你的网页本来就是用的UTF-8编码的话，那么接收到的数据是正常的；如果你的网页编码是GB2312的话，问题就来了，POST过来的数据是UTF-8，而你整个站点是用GB2312来显示，那么所有的中文字符将全部变成乱码。</p>
<p>解决的方法其实也很简单，在php里面用 iconv( "UTF-8", "gb2312" , $FormValues['a']) 函数转换一下就可以了。</p>
<p>另外需要在 xajax.class.php 需要改一下默认的encoding: </p>
<p>define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );</p>
<p>Windows主机下如果是php4.3.x版本需要单独加载iconv()函数库（需要在php.ini中正确设置extension_dir，比如extension_dir = "C:/php/extensions/"<br>，同时需要取消;extension=php_iconv.dll一行前面的;号，并将c:\php\dlls\iconv.dll复制到c:\windows\system32目录下。 <br></p>
<img src ="http://www.cppblog.com/qywyh/aggbug/28526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qywyh/" target="_blank">豪</a> 2007-07-21 22:25 <a href="http://www.cppblog.com/qywyh/articles/28526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JS呼叫另一PHP程式后直接返回数值而不必翻新页面（转）</title><link>http://www.cppblog.com/qywyh/articles/3406.html</link><dc:creator>豪</dc:creator><author>豪</author><pubDate>Wed, 22 Feb 2006 05:47:00 GMT</pubDate><guid>http://www.cppblog.com/qywyh/articles/3406.html</guid><wfw:comment>http://www.cppblog.com/qywyh/comments/3406.html</wfw:comment><comments>http://www.cppblog.com/qywyh/articles/3406.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qywyh/comments/commentRss/3406.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qywyh/services/trackbacks/3406.html</trackback:ping><description><![CDATA[使用JS呼叫另一PHP程式后直接返回数值而不必翻新页面<BR><BR>我是用iframe来实现的，改天再想想其他的实现方法，由于只是简单的实现你所需要的使用JS来呼叫PHP页面保证本页面不刷新，所以很多代码就没有复杂化，将JS<BR>与PHP同时复杂点代码，让PHP从数据库里提数据，我想这个还是比较方便的~<BR><BR>代码:(index.HTML)<BR>-----------------<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;©Ķ<BR>&lt;/title&gt;<BR>&lt;meta http-equiv="content-type" content="text/html;charset=gb2312"&gt;<BR>&lt;/head&gt;<BR>&lt;script language=javascript type=text/javascript&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;function tree_list(a){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.all("did"+a).innerHTML="&lt;font color=red&gt;正在装入....&lt;/font&gt;";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.all("sc").innerHTML="&lt;iframe src=\"list.php?id="+a+"\" frameborder=0 width=0 height=0&gt;&lt;/iframe&gt;";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//alert("&lt;iframe src=\"list.php?id="+a+"\" frameborder=0 width=0 height=0&gt;&lt;/iframe&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&lt;/script&gt;<BR>&lt;body&gt;<BR>&lt;span id="sc"&gt;&lt;/span&gt;&lt;!--HTML操作位置--&gt;<BR>&lt;!--以下可以使用php动态生成这些数据以提高多层--&gt;<BR>·&lt;a href="#" onclick="tree_list(1)"&gt;11111111111&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did1"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(2)"&gt;22222222222&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did2"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(3)"&gt;33333333333&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did3"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(4)"&gt;44444444444&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did4"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(5)"&gt;55555555555&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did5"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(6)"&gt;66666666666&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did6"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(7)"&gt;77777777777&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did7"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(8)"&gt;88888888888&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did8"&gt;&lt;/span&gt;<BR>·&lt;a href="#" onclick="tree_list(9)"&gt;99999999999&lt;/a&gt;&lt;br&gt;<BR>&lt;span id="did9"&gt;&lt;/span&gt;<BR>&lt;!--如果构造巧妙的话还可以使用links这个来改变&lt;span&gt;的存在性--&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR><BR><BR>list.php<BR>---------<BR><BR>&lt;script&gt;<BR>&lt;?php<BR>if(isset($_GET[id])){<BR>&nbsp;&nbsp;&nbsp;&nbsp;$t=$_GET[id];<BR>}<BR>echo "parent.document.all(\"did$t\").innerHTML=\"&lt;font color=red&gt;列表...did$t &lt;/font&gt;&lt;br&gt;\";\n";<BR>?&gt;<BR>&lt;/script&gt;<BR><BR><BR>以上我本机调试通过，这个是使用了iframe 来完成的，没有象唠叨说的用XML以及数据岛方式，过段时间看看~<img src ="http://www.cppblog.com/qywyh/aggbug/3406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qywyh/" target="_blank">豪</a> 2006-02-22 13:47 <a href="http://www.cppblog.com/qywyh/articles/3406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>php学习笔记（更新中...）</title><link>http://www.cppblog.com/qywyh/articles/1612.html</link><dc:creator>豪</dc:creator><author>豪</author><pubDate>Wed, 07 Dec 2005 11:24:00 GMT</pubDate><guid>http://www.cppblog.com/qywyh/articles/1612.html</guid><wfw:comment>http://www.cppblog.com/qywyh/comments/1612.html</wfw:comment><comments>http://www.cppblog.com/qywyh/articles/1612.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/qywyh/comments/commentRss/1612.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qywyh/services/trackbacks/1612.html</trackback:ping><description><![CDATA[<P>1.apache服务器不能显示中文,该http.conf adddefaultcharset gb2312</P>
<P>2.想从表单直接获取变量,须php.ini里面设置,register_globals off</P>
<P>3.$sql="insert into admin(name,secret) values('$name','$secret')"<BR>&nbsp; sql插入语句,记得加单引号!</P>
<P>4.记住,数组下标从0开始</P>
<P>5.小心,判断等于是==而不是=</P>
<P>6.小心,5的情况是在while if等判断语句中要注意啊</P>
<P>7.删除 delete table_name from `id`='$id'</P>
<P>8.*.php?j=$i 通过url将变量i传递给j</P>
<P>9.本页传递变量要小心值传不到去</P>
<P>10.// 获取总数据量<BR>&nbsp;&nbsp; $sql = "select count(*) as amount from table";<BR>&nbsp;&nbsp; $result = mysql_query($sql);<BR>&nbsp;&nbsp; $row = mysql_fetch_row($result);<BR>&nbsp;&nbsp; $amount = $row['amount']; </P>
<P>11.// 获取数据，以二维数组格式返回结果<BR>if( $amount ){<BR>&nbsp;&nbsp; $sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";<BR>&nbsp;&nbsp; $result = mysql_query($sql);<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp; while ( $row = mysql_fetch_row($result) ){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rowset[] = $row;<BR>&nbsp;&nbsp; }<BR>}else{<BR>&nbsp;&nbsp; $rowset = array();<BR>}</P>
<P>12.通过对图片高度输入变量,可以实现条形投票</P>
<P>13.phpmyadmin指向dbadmin/config.inc.php&nbsp; <BR>&nbsp;谦Evicn 03:33:32<BR>编辑它. $cfg['Servers'][$i]['auth_type']&nbsp;&nbsp;&nbsp;&nbsp; = 'http';</P>
<P>14.&lt;a href="guestbook.php?id_delete=&lt;? echo $book[$i]["id"]?&gt;&amp;flag=1"&gt;删除&lt;/a&gt;<BR>连传递两个值,中间用&amp;</P>
<P><BR>15.php中写mysql乱码问题解决方案1:mysql_query("SET NAMES gb2312");</P>
<P>16.“PHP_SELF”当前正在执行脚本的文件名，与 document root相关。举例来说，在URL地址为 http://example.com/test.php/foo.bar 的脚</P>
<P>本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。<BR>&nbsp;本页url----&gt; "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF']</P>
<P>获取完整url路径包括参数&nbsp; 'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];</P>
<P>&nbsp;</P>
<P>17.mysql left 语句,查找不配行</P>
<P>SELECT `dis_name`,`dis_id`,`idis_id` FROM district LEFT JOIN indexdistrict ON `dis_id`=`idis_dis_id` WHERE `idis_id` is null </P>
<P>AND `dis_id`!='0' AND `dis_up_id`='0' </P>
<P>当`dis_id`!=`idis_dis_id`时,`idis_id`就为空了<BR></P><img src ="http://www.cppblog.com/qywyh/aggbug/1612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qywyh/" target="_blank">豪</a> 2005-12-07 19:24 <a href="http://www.cppblog.com/qywyh/articles/1612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>phplib模板体系介绍</title><link>http://www.cppblog.com/qywyh/articles/1609.html</link><dc:creator>豪</dc:creator><author>豪</author><pubDate>Wed, 07 Dec 2005 09:52:00 GMT</pubDate><guid>http://www.cppblog.com/qywyh/articles/1609.html</guid><wfw:comment>http://www.cppblog.com/qywyh/comments/1609.html</wfw:comment><comments>http://www.cppblog.com/qywyh/articles/1609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qywyh/comments/commentRss/1609.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qywyh/services/trackbacks/1609.html</trackback:ping><description><![CDATA[<TABLE style="BORDER-RIGHT: rgb(192,192,192) 1px solid; BORDER-LEFT: rgb(192,192,192) 1px solid" cellSpacing=0 cellPadding=0 width=778 align=center bgColor=#f7f7f7 border=0>
<TBODY>
<TR borderColor=#1>
<TD vAlign=top width=5 rowSpan=7><!--DWLayoutEmptyCell--><FONT size=2>&nbsp;</FONT></TD>
<TD vAlign=top align=left background=数字中国-phplib模板体系介绍.files/title_line.gif height=1><FONT size=2>转载-&gt;数字中国</FONT></TD>
<TD vAlign=top width=5 rowSpan=7><!--DWLayoutEmptyCell--><FONT size=2>&nbsp;</FONT></TD></TR>
<TR borderColor=#1>
<TD vAlign=top align=left>
<TABLE cellSpacing=3 width="100%" border=0>
<TBODY><FONT size=2></FONT></TBODY></TABLE></TD></TR>
<TR borderColor=#1>
<TD vAlign=top align=middle height=13><FONT size=2><SPAN class=title_td>phplib模板体系介绍</SPAN>
<SCRIPT src="数字中国-phplib模板体系介绍.files/web_count.htm"></SCRIPT>
 </FONT></TD></TR>
<TR borderColor=#1>
<TD vAlign=top align=left height=62>
<P><FONT size=2>boeiBlog是一套支持多模板的单用户版网络日志程序</FONT></P>
<P><FONT size=2>其模板引擎采用的是phplib7.4版。此版本修正了以前的大部分bug，文件位于class/template.class.php,有兴趣的朋友可以打开看看。<BR>这是一套解析型的模板，而不是smarty之类的编译型。用这套模板的好处是模板页面可以很简单，但程序因为要替换模板中的标签，因此比较慢。<BR>好在此系统是为个人用户准备的。效率是放在第二位，易用性是放在首位的，因此仍然采用的是phplib的模板。</FONT></P>
<P><FONT size=2>语法介绍：<BR>phplib中常用的方法有set_file,set_block,set_var,parse,ppasre,p,get等。</FONT></P>
<P><FONT color=#0020ff size=2>声明：由于本系统采用的是phplib,如果页面中有大括号对，这将会替换成空白，所以在写此文章时，用"[[","]]"来替代大括号。大家在用的时候是用大括号便是，此处仅为写文章方便而作此约定。</FONT></P>
<P><FONT size=2><STRONG>set_file</STRONG>:是用来引入模板文件。<BR>用法：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_file("show_main","main.htm");<BR>或<BR>$t-&gt;set_file(array(<BR>&nbsp;"show_header"=&gt;"header.htm",<BR>&nbsp;"show_main"=&gt;"main.htm"<BR>));</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><FONT size=2><STRONG>set_block</STRONG>:用来声明一个区块<BR>用法:<BR>$t-&gt;set_block("show_main","rowlist","RL");<BR>稍微解释一下，show_main是用set_file取得的文件句柄，rowlist是模板页面中的区域标识一般如下方式来写</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>&lt;table&gt;<BR>&lt;!-- BEGIN rowlist --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;[[param]]&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&lt;!-- END rowlist --&gt;<BR>&lt;/table&gt;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><FONT size=2>如上是将&lt;tr&gt;&lt;/tr&gt;作为了一个区块，这样就可以用循环来生成多行的列表了<BR>区块是可以嵌套的</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>&lt;table&gt;<BR>&lt;!-- BEGIN rowlist --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- BEGIN collist --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;td&gt;[[param]]&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;!-- END collist --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&lt;!-- END rowlist --&gt;<BR>&lt;/table&gt;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><FONT size=2>如上所示，这声明一个嵌套区块，这在boeiBlog的像册部分采用了这种方式，有兴趣的朋友可以找出来看看<BR>对于嵌套的模板，我们可以这样来使用<BR>$t-&gt;set_block("show_main","rowlist","RL"); // 里面的参数从前向后依次是包含的关系，最后一个是别名，主要用来区块识别<BR>$t-&gt;set_block("rowlist","collist","CL"); // 第一个参数是外层块的名称，第二个是自己的名乐，第三个是别名<BR>循环这样的区块时要特别注意<BR>如下：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_block("show_main","rowlist","RL");<BR>$t-&gt;set_block("rowlist","collist","CL");<BR>for($i=0;$i&lt;5;$i++)<BR>{<BR>&nbsp;&nbsp;&nbsp; $t-&gt;set_var("CL");// 这里要对追加的列循环执行一次清理，否则会多出一堆东西<BR>&nbsp;&nbsp;&nbsp; for($ii=0;$ii&lt;5;$ii++)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $t-&gt;set_var("param","boeiBlog");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $t-&gt;parse("CL","collist",true);// true参数表明这是追加<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; $t-&gt;parse("RL","rowlist",true);// 这里的true也是表追加<BR>}</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><FONT size=2>上述代码将会产生一个5X5的表格，每个单元格里会出现一个boeiBlog</FONT></P>
<P><FONT size=2><STRONG>set_var</STRONG>:用来作变量替换<BR>上述代码里的$t-&gt;set_var("param","boeiBlog");就是把模板中的param变量替换成boeiBlog这个字符串，当然也可以替换成变量，如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$curdate = date("Y-m-d");<BR>$t-&gt;set_var("param",$curdate);</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>set_var也有追加属性，如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$curdate = date("Y-m-d");<BR>for($i=0;$i&lt;10;$i++)<BR>{<BR>&nbsp;&nbsp;&nbsp; $t-&gt;set_var("param","&lt;br&gt;".$curdate,true);<BR>}&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><FONT size=2>这将产生十个连续的当前日期<BR>有时候可以用set_var的追加属性来替代block的循环.</FONT></P>
<P><FONT size=2>set_var是可以用数组的，如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_var(array(<BR>&nbsp;"param"=&gt;"boeiBlog",<BR>&nbsp;"title"=&gt;"柏艾网络"<BR>));&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>模板如下:</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>&lt;table&gt;<BR>&lt;tr&gt;<BR>&nbsp;&lt;td&gt;[[param]],[[title]]&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;/table&gt;&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2><STRONG>parse</STRONG>:用于解析文件<BR>当我们将模板中的所有变量都处理完之后，可以用parse一将这个模板进行解析。这是模板处理的最后几道工序。<BR>如:</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_file("show_index","index.htm");<BR>$t-&gt;set_file("show_main","main.htm");<BR>$t-&gt;set_var("param","boeiBlog");<BR>$t-&gt;parse("main","show_main");&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>我们所用的模板可能是:</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>main.htm<BR>&lt;table&gt;<BR>&lt;tr&gt;<BR>&nbsp;&lt;td&gt;[[param]]&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;/table&gt;&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>如果此时还有另外一个模板，其结构如下：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>index.htm<BR>&lt;div&gt;[[main]]&lt;/div&gt;&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><FONT size=2>那么上述代码将会把main.htm中的变量替换成boeiBlog后再放到index.htm中的main处，最后形成一个在&lt;div&gt;&lt;/div&gt;标签中的表格</FONT></P>
<P><FONT size=2>解析完成之后便是输出页面，</FONT></P>
<P><FONT size=2><STRONG>p</STRONG>:用于输出页面<BR>如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_file("show_index","index.htm");<BR>$t-&gt;set_file("show_main","main.htm");<BR>$t-&gt;set_var("param","boeiBlog");<BR>$t-&gt;parse("main","show_main");<BR>$t-&gt;parse("index","show_index");<BR>$t-&gt;p("index");// 此处便会将整个index页面输出，注意main.htm已经被嵌入到index.htm，所以不用$t-&gt;p("main");&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2><STRONG>pparse</STRONG>:同p一样也用来输出页面<BR>如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>上述代码可以如下简化<BR>$t-&gt;set_file("show_index","index.htm");<BR>$t-&gt;set_file("show_main","main.htm");<BR>$t-&gt;set_var("param","boeiBlog");<BR>$t-&gt;parse("main","show_main");<BR>$t-&gt;pparse("index","show_index");// 此处将p和parse结合到一起，立即完成解析并输出&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></P>
<P><FONT size=2><STRONG>get</STRONG>:用于获得文件内容<BR>如：</FONT></P>
<P>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR>
<TD><FONT size=2>&nbsp;CODE:</FONT></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=1 cellPadding=10 width="100%" bgColor=#000000 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px" width="100%" bgColor=#e6e6e6><FONT size=2>$t-&gt;set_file("show_index","index.htm");<BR>$t-&gt;set_file("show_main","main.htm");<BR>$t-&gt;set_var("param","boeiBlog");<BR>$t-&gt;parse("main","show_main");<BR>$t-&gt;parse("index","show_index");<BR>$getstr = $t-&gt;get("index");<BR>echo $getstr;// 你将会看到这实际上和p是一样的。&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><FONT size=2>利用get，我们可以轻松的取得生成页面的内容，这可以用于静态页面的生成。可以看到phplib用来处理静态页面是非常方便的</FONT></P></TD></TR>
<TR borderColor=#1>
<TD align=middle background=数字中国-phplib模板体系介绍.files/title_line.gif height=1><FONT size=2></FONT></TD></TR>
<TR borderColor=#1>
<TD align=middle height=14><FONT size=2></FONT></TD></TR></TBODY></TABLE></TR></TBODY></TABLE><img src ="http://www.cppblog.com/qywyh/aggbug/1609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qywyh/" target="_blank">豪</a> 2005-12-07 17:52 <a href="http://www.cppblog.com/qywyh/articles/1609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>