<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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>梦想飞翔 - 学习</title><link>http://www.slleo.com/blog/</link><description>记录生活，记录点滴~ - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>Copyright &amp;amp;copy; Slleo.com. Some Rights Reserved.</copyright><pubDate>Fri, 10 Sep 2010 02:03:31 +0800</pubDate><item><title>成功的前提---马云超经典的演讲，收藏自己看~</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/mayun-speech.html</link><pubDate>Fri, 13 Aug 2010 20:22:38 +0800</pubDate><guid>http://www.slleo.com/blog/post/mayun-speech.html</guid><description><![CDATA[<embed type="application/x-shockwave-flash" allowscriptaccess="sameDomain" align="middle" height="400" width="480" quality="high" src="http://player.youku.com/player.php/sid/XMTA1NDg2ODY4/v.swf"></embed>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/mayun-speech.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=226</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=226&amp;key=40de552d</trackback:ping></item><item><title>发一个好用的php读取xml的类</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/205.html</link><pubDate>Thu, 26 Jun 2008 11:21:12 +0800</pubDate><guid>http://www.slleo.com/blog/post/205.html</guid><description><![CDATA[<textarea class="code" rows="10" cols="50">
&lt;?php&nbsp;
###################################&nbsp;
#&nbsp;
#&nbsp;XML&nbsp;Library,&nbsp;by&nbsp;Keith&nbsp;Devens,&nbsp;version&nbsp;1.2b&nbsp;
#&nbsp;&lt;a&nbsp;href=&#34;http://keithdevens.com/software/phpxml&#34;&nbsp;target=&#34;_blank&#34;&gt;http://keithdevens.com/software/phpxml&lt;/a&gt;&nbsp;
#&nbsp;
#&nbsp;This&nbsp;code&nbsp;is&nbsp;Open&nbsp;Source,&nbsp;released&nbsp;under&nbsp;terms&nbsp;similar&nbsp;to&nbsp;the&nbsp;Artistic&nbsp;License.&nbsp;
#&nbsp;Read&nbsp;the&nbsp;license&nbsp;at&nbsp;&lt;a&nbsp;href=&#34;http://keithdevens.com/software/license&#34;&nbsp;target=&#34;_blank&#34;&gt;http://keithdevens.com/software/license&lt;/a&gt;&nbsp;
#&nbsp;
########################################&nbsp;
#&nbsp;XML_unserialize:&nbsp;takes&nbsp;raw&nbsp;XML&nbsp;as&nbsp;a&nbsp;parameter&nbsp;(a&nbsp;string)&nbsp;
#&nbsp;and&nbsp;returns&nbsp;an&nbsp;equivalent&nbsp;PHP&nbsp;data&nbsp;structure&nbsp;
#####################################&nbsp;
function&nbsp;&amp;&nbsp;XML_unserialize(&amp;$xml){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$xml_parser&nbsp;=&nbsp;&amp;new&nbsp;XML();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;&amp;$xml_parser-&gt;parse($xml);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$xml_parser-&gt;destruct();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$data;&nbsp;
}&nbsp;
#######################################&nbsp;
#&nbsp;XML_serialize:&nbsp;serializes&nbsp;any&nbsp;PHP&nbsp;data&nbsp;structure&nbsp;into&nbsp;XML&nbsp;
#&nbsp;Takes&nbsp;one&nbsp;parameter:&nbsp;the&nbsp;data&nbsp;to&nbsp;serialize.&nbsp;Must&nbsp;be&nbsp;an&nbsp;array.&nbsp;
###################################&nbsp;
function&nbsp;&amp;&nbsp;XML_serialize(&amp;$data,&nbsp;$level&nbsp;=&nbsp;0,&nbsp;$prior_key&nbsp;=&nbsp;NULL){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if($level&nbsp;==&nbsp;0){&nbsp;ob_start();&nbsp;echo&nbsp;&#39;&lt;?xml&nbsp;version=&#34;1.0&#34;&nbsp;?&gt;&#39;,&#34;\n&#34;;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;while(list($key,&nbsp;$value)&nbsp;=&nbsp;each($data))&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!strpos($key,&nbsp;&#39;&nbsp;attr&#39;))&nbsp;#if&nbsp;it&#39;s&nbsp;not&nbsp;an&nbsp;attribute&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#we&nbsp;don&#39;t&nbsp;treat&nbsp;attributes&nbsp;by&nbsp;themselves,&nbsp;so&nbsp;for&nbsp;an&nbsp;empty&nbsp;element&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;that&nbsp;has&nbsp;attributes&nbsp;you&nbsp;still&nbsp;need&nbsp;to&nbsp;set&nbsp;the&nbsp;element&nbsp;to&nbsp;NULL&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($value)&nbsp;and&nbsp;array_key_exists(0,&nbsp;$value)){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XML_serialize($value,&nbsp;$level,&nbsp;$key);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tag&nbsp;=&nbsp;$prior_key&nbsp;?&nbsp;$prior_key&nbsp;:&nbsp;$key;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;str_repeat(&#34;\t&#34;,&nbsp;$level),&#39;&lt;&#39;,$tag;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(array_key_exists(&#34;$key&nbsp;attr&#34;,&nbsp;$data)){&nbsp;#if&nbsp;there&#39;s&nbsp;an&nbsp;attribute&nbsp;for&nbsp;this&nbsp;element&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(list($attr_name,&nbsp;$attr_value)&nbsp;=&nbsp;each($data[&#34;$key&nbsp;attr&#34;]))&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#39;&nbsp;&#39;,$attr_name,&#39;=&#34;&#39;,htmlspecialchars($attr_value),&#39;&#34;&#39;;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reset($data[&#34;$key&nbsp;attr&#34;]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_null($value))&nbsp;echo&nbsp;&#34;&nbsp;/&gt;\n&#34;;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif(!is_array($value))&nbsp;echo&nbsp;&#39;&gt;&#39;,htmlspecialchars($value),&#34;&lt;/$tag&gt;\n&#34;;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;echo&nbsp;&#34;&gt;\n&#34;,XML_serialize($value,&nbsp;$level+1),str_repeat(&#34;\t&#34;,&nbsp;$level),&#34;&lt;/$tag&gt;\n&#34;;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;reset($data);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if($level&nbsp;==&nbsp;0){&nbsp;$str&nbsp;=&nbsp;&amp;ob_get_contents();&nbsp;ob_end_clean();&nbsp;return&nbsp;$str;&nbsp;}&nbsp;
}&nbsp;
#########################################&nbsp;
#&nbsp;XML&nbsp;class:&nbsp;utility&nbsp;class&nbsp;to&nbsp;be&nbsp;used&nbsp;with&nbsp;PHP&#39;s&nbsp;XML&nbsp;handling&nbsp;functions&nbsp;
###################################&nbsp;
class&nbsp;XML{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$parser;&nbsp;&nbsp;&nbsp;#a&nbsp;reference&nbsp;to&nbsp;the&nbsp;XML&nbsp;parser&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$document;&nbsp;#the&nbsp;entire&nbsp;XML&nbsp;structure&nbsp;built&nbsp;up&nbsp;so&nbsp;far&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$parent;&nbsp;&nbsp;&nbsp;#a&nbsp;pointer&nbsp;to&nbsp;the&nbsp;current&nbsp;parent&nbsp;-&nbsp;the&nbsp;parent&nbsp;will&nbsp;be&nbsp;an&nbsp;array&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$stack;&nbsp;&nbsp;&nbsp;&nbsp;#a&nbsp;stack&nbsp;of&nbsp;the&nbsp;most&nbsp;recent&nbsp;parent&nbsp;at&nbsp;each&nbsp;nesting&nbsp;level&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$last_opened_tag;&nbsp;#keeps&nbsp;track&nbsp;of&nbsp;the&nbsp;last&nbsp;tag&nbsp;opened.&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;XML(){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parser&nbsp;=&nbsp;&amp;xml_parser_cr&#101;ate();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xml_parser_set_option(&amp;$this-&gt;parser,&nbsp;XML_OPTION_CASE_FOLDING,&nbsp;false);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xml_set_object(&amp;$this-&gt;parser,&nbsp;&amp;$this);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xml_set_element_handler(&amp;$this-&gt;parser,&nbsp;&#39;open&#39;,&#39;close&#39;);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xml_set_character_data_handler(&amp;$this-&gt;parser,&nbsp;&#39;data&#39;);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;destruct(){&nbsp;xml_parser_free(&amp;$this-&gt;parser);&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;&amp;&nbsp;parse(&amp;$data){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;document&nbsp;=&nbsp;array();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;stack&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;array();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parent&nbsp;&nbsp;&nbsp;=&nbsp;&amp;$this-&gt;document;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;xml_parse(&amp;$this-&gt;parser,&nbsp;&amp;$data,&nbsp;true)&nbsp;?&nbsp;$this-&gt;document&nbsp;:&nbsp;NULL;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;open(&amp;$parser,&nbsp;$tag,&nbsp;$attributes){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data&nbsp;=&nbsp;&#39;&#39;;&nbsp;#stores&nbsp;temporary&nbsp;cdata&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;last_opened_tag&nbsp;=&nbsp;$tag;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($this-&gt;parent)&nbsp;and&nbsp;array_key_exists($tag,$this-&gt;parent)){&nbsp;#if&nbsp;you&#39;ve&nbsp;seen&nbsp;this&nbsp;tag&nbsp;before&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($this-&gt;parent[$tag])&nbsp;and&nbsp;array_key_exists(0,$this-&gt;parent[$tag])){&nbsp;#if&nbsp;the&nbsp;keys&nbsp;are&nbsp;numeric&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#this&nbsp;is&nbsp;the&nbsp;third&nbsp;o&#114;&nbsp;later&nbsp;instance&nbsp;of&nbsp;$tag&nbsp;we&#39;ve&nbsp;come&nbsp;across&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;count_numeric_items($this-&gt;parent[$tag]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#this&nbsp;is&nbsp;the&nbsp;second&nbsp;instance&nbsp;of&nbsp;$tag&nbsp;that&nbsp;we&#39;ve&nbsp;seen.&nbsp;shift&nbsp;around&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(array_key_exists(&#34;$tag&nbsp;attr&#34;,$this-&gt;parent)){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array(&#39;0&nbsp;attr&#39;=&gt;&amp;$this-&gt;parent[&#34;$tag&nbsp;attr&#34;],&nbsp;&amp;$this-&gt;parent[$tag]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($this-&gt;parent[&#34;$tag&nbsp;attr&#34;]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array(&amp;$this-&gt;parent[$tag]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parent[$tag]&nbsp;=&nbsp;&amp;$arr;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;1;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parent&nbsp;=&nbsp;&amp;$this-&gt;parent[$tag];&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;$tag;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($attributes)&nbsp;$this-&gt;parent[&#34;$key&nbsp;attr&#34;]&nbsp;=&nbsp;$attributes;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parent&nbsp;&nbsp;=&nbsp;&amp;$this-&gt;parent[$key];&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;stack[]&nbsp;=&nbsp;&amp;$this-&gt;parent;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;data(&amp;$parser,&nbsp;$data){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;last_opened_tag&nbsp;!=&nbsp;NULL)&nbsp;#you&nbsp;don&#39;t&nbsp;need&nbsp;to&nbsp;store&nbsp;whitespace&nbsp;in&nbsp;between&nbsp;tags&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data&nbsp;.=&nbsp;$data;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;close(&amp;$parser,&nbsp;$tag){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;last_opened_tag&nbsp;==&nbsp;$tag){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;parent&nbsp;=&nbsp;$this-&gt;data;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;last_opened_tag&nbsp;=&nbsp;NULL;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_pop($this-&gt;stack);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;stack)&nbsp;$this-&gt;parent&nbsp;=&nbsp;&amp;$this-&gt;stack[count($this-&gt;stack)-1];&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
}&nbsp;
function&nbsp;count_numeric_items(&amp;$array){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;is_array($array)&nbsp;?&nbsp;count(array_filter(array_keys($array),&nbsp;&#39;is_numeric&#39;))&nbsp;:&nbsp;0;&nbsp;
}&nbsp;
?&gt;&nbsp;

</textarea><br/><br/>以下是一个应用实例，XML来源地址是：http://data.cnaz.com/spread/?tid=7&amp;sid=42845&amp;order=date&amp;flags=desc&amp;num=50&amp;page=1&amp;hosts=pic.ttiankan.com&amp;code=xml<br/><textarea class="code" rows="10" cols="50">
&lt;?php&nbsp;&nbsp;&nbsp;
include(&#39;xml.php&#39;);&nbsp;&nbsp;&nbsp;&nbsp;//引用PHP&nbsp;XML操作类&nbsp;&nbsp;&nbsp;


$page=$_GET[&#39;page&#39;];

if(empty($page)&nbsp;||&nbsp;!is_numeric($page))&nbsp;$page=1;

//偶像明星
$xml&nbsp;=&nbsp;file_get_contents(&#39;http://data.cnaz.com/spread/?tid=7&amp;sid=42845&amp;order=date&amp;flags=desc&amp;num=50&amp;page=&#39;.$page.&#39;&amp;hosts=pic.ttiankan.com&amp;code=xml&#39;);



//$xml&nbsp;=&nbsp;file_get_contents(&#34;php://input&#34;);&nbsp;&nbsp;&nbsp;&nbsp;//读取POST过来的输入流&nbsp;&nbsp;&nbsp;
$data=XML_unserialize($xml);&nbsp;&nbsp;&nbsp;

$item=$data[&#39;rss&#39;][&#39;channel&#39;];

$link&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;$item[&#39;link&#39;];
$description=&nbsp;&nbsp;$item[&#39;description&#39;];
$keywords&nbsp;&nbsp;=&nbsp;&nbsp;$item[&#39;keywords&#39;];
$totalnum&nbsp;&nbsp;=&nbsp;&nbsp;$item[&#39;totalnum&#39;];
$usetime&nbsp;&nbsp;=&nbsp;&nbsp;$item[&#39;usetime&#39;];

$totalpage=ceil($totalnum/50);

echo(&#39;&lt;div&nbsp;style=&#34;width:600px;margin:5px&nbsp;auto;background:#eee;border:1px&nbsp;#ccc&nbsp;solid;padding:5px;&#34;&gt;关键字:&#39;.$keywords.&#39;&nbsp;&nbsp;&#39;);
echo(&#39;总记录数:&#39;.$totalnum.&#39;,&nbsp;每页显示50条,一共有&#39;.$totalpage.&#39;页,&nbsp;当前是第&#39;.$page.&#39;页&lt;/div&gt;&#39;);

$item=$item[&#39;item&#39;];

echo(&#39;
&nbsp;&nbsp;&lt;style&gt;
&nbsp;&nbsp;*{font-size:12px;color:#000;font-family:arial;}
&nbsp;&nbsp;a{text-decoration:none;}
&nbsp;&nbsp;a:hover{text-decoration:underline;}
&nbsp;&nbsp;.tbl{border-top:1px&nbsp;#ccc&nbsp;solid;border-left:1px&nbsp;#ccc&nbsp;solid;}
&nbsp;&nbsp;.tbl&nbsp;td{padding:4px&nbsp;5px;border-bottom:1px&nbsp;#ccc&nbsp;solid;border-right:1px&nbsp;#ccc&nbsp;solid;}
&nbsp;&nbsp;&lt;/style&gt;
&nbsp;&nbsp;&#39;);

echo(&#39;
&nbsp;&nbsp;&lt;table&nbsp;cellspacing=&#34;0&#34;&nbsp;cellpadding=&#34;0&#34;&nbsp;border=&#34;0&#34;&nbsp;class=&#34;tbl&#34;&nbsp;width=&#34;600&#34;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;分类&lt;/td&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;标题&lt;/td&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;链接&lt;/td&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;
&nbsp;&nbsp;&#39;);

&nbsp;&nbsp;foreach($item&nbsp;as&nbsp;$list)
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo(&#39;&lt;tr&gt;&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;echo(&#39;&lt;td&gt;&#39;.$list[&#39;sort&#39;].&#39;&lt;/td&gt;&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;echo(&#39;&lt;td&gt;&lt;a&nbsp;title=&#34;&#39;.$list[&#39;description&#39;].&#39;&#34;&nbsp;href=&#34;&#39;.$list[&#39;photo&#39;].&#39;&#34;&nbsp;target=&#34;_blank&#34;&gt;&#39;.$list[&#39;title&#39;].&#39;&lt;/a&gt;&lt;/td&gt;&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;echo(&#39;&lt;td&gt;&lt;a&nbsp;href=&#34;&#39;.$list[&#39;link&#39;].&#39;&#34;&nbsp;target=&#34;_blank&#34;&gt;&#39;.$list[&#39;link&#39;].&#39;&lt;/a&gt;&lt;/td&gt;&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;echo(&#39;&lt;/tr&gt;&#39;);
&nbsp;&nbsp;}

&nbsp;&nbsp;echo(&#39;&lt;tr&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;colspan=&#34;3&#34;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&#39;);
&nbsp;&nbsp;if($page&gt;1)&nbsp;echo(&#39;&lt;a&nbsp;href=&#34;b.php?page=&#39;.($page-1).&#39;&#34;&gt;上一页&lt;/a&gt;&nbsp; &nbsp;&#39;);
&nbsp;&nbsp;if($page&lt;$totalpage)&nbsp;echo(&#39;&lt;a&nbsp;href=&#34;b.php?page=&#39;.($page+1).&#39;&#34;&gt;下一页&lt;/a&gt;&#39;);
&nbsp;&nbsp;echo(&#39;&lt;/td&gt;&lt;/tr&gt;&#39;);

echo(&#39;&lt;/table&gt;&#39;);


?&gt;&nbsp;&nbsp;
</textarea>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/205.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=205</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=205&amp;key=443b2645</trackback:ping></item><item><title>Fckeditor2.6的修改</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/200.html</link><pubDate>Wed, 23 Apr 2008 18:08:52 +0800</pubDate><guid>http://www.slleo.com/blog/post/200.html</guid><description><![CDATA[一直用的fckedtior2.4版，用了一段时间了，最近发现fckeditor2.6出来了，这回fck将弹出的对话框做成了一个可以拖动的层，效果还是不错的说。<br/><br/>于是，我升级S版fck(开玩笑了)，增加附件上传与媒体插入功能，删除原fckeditor下filemanager下所有文件，自己写了两个文件来应付上传，其中一个是文件管理器（可删可传功能），再将所有颜色统一一下，发现还不错。<br/><br/>目前在FF下还有一点点问题，接着改。<br/><br/>先发个图。<br/><img onload="ResizeImage(this,520)" src="attachments/month_0804/0200842318851.jpg" alt="" title=""/><br/>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/200.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=200</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=200&amp;key=626ad47e</trackback:ping></item><item><title>Warning: Smarty::include() 错误的解决办法</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/197.html</link><pubDate>Mon, 03 Mar 2008 01:32:07 +0800</pubDate><guid>http://www.slleo.com/blog/post/197.html</guid><description><![CDATA[最近调试php，在本地测试，却报错：<br/><textarea class="code" rows="10" cols="50">
Warning:&nbsp;&nbsp;&nbsp;Smarty::include()&nbsp;&nbsp;&nbsp;[function.include]:&nbsp;&nbsp;&nbsp;Failed&nbsp;&nbsp;&nbsp;opening&nbsp;&nbsp;&nbsp;&#39;xxx/templates_c/\%%43^43B^43B32F4B%%index.htm.php&#39;&nbsp;&nbsp;&nbsp;for&nbsp;&nbsp;&nbsp;inclusion&nbsp;&nbsp;&nbsp;(include_path=&#39;.;C:\php5\pear&#39;)&nbsp;&nbsp;&nbsp;in&nbsp;&nbsp;&nbsp;&#39;xxx\class\smarty\Smarty.class.php&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;line&nbsp;&nbsp;&nbsp;1258&nbsp;&nbsp;&nbsp;
</textarea><br/><br/>同时在compiled下生成一堆*.tmp的文件...<br/><br/>baidu了一下，但几乎找不到结果，于是google了一下，看了半天的E文，也没找到对策，十分的无奈！后来只得从错误信息的字面上理解：“打开文件出错....”，我猜是权限不足，于是将smarty设置的相关的目录cache和compiled文件夹权限放到“完全控制”，还是不行，于是再将模板文件夹template的权限放开，于是OK了。<br/><br/><br/>特此记录一下。<br/>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/197.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=197</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=197&amp;key=7bcfe325</trackback:ping></item><item><title>删除重复的记录的方法</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/190.html</link><pubDate>Thu, 10 Jan 2008 23:30:54 +0800</pubDate><guid>http://www.slleo.com/blog/post/190.html</guid><description><![CDATA[查出重复的行:<textarea class="code" rows="10" cols="50">
sel&#101;ct&nbsp;*&nbsp;
from&nbsp;表&nbsp;
wh&#101;re&nbsp;id&nbsp;in(sel&#101;ct&nbsp;min(id)&nbsp;from&nbsp;表&nbsp;group&nbsp;by&nbsp;name&nbsp;)&nbsp;
</textarea><br/><br/>删除重复的行:<br/><textarea class="code" rows="10" cols="50">
del&#101;te&nbsp;from&nbsp;表&nbsp;
wh&#101;re&nbsp;id&nbsp;not&nbsp;in(sel&#101;ct&nbsp;min(id)&nbsp;from&nbsp;表&nbsp;group&nbsp;by&nbsp;name&nbsp;)&nbsp;
</textarea>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/190.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=190</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=190&amp;key=2e74dd7c</trackback:ping></item><item><title>SMV V2.0103带6000数据(带图)</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/188.html</link><pubDate>Fri, 04 Jan 2008 16:10:57 +0800</pubDate><guid>http://www.slleo.com/blog/post/188.html</guid><description><![CDATA[打了一个包，本想发到slleo.com上，无奈这空间只有100mb，装不下。<br/><br/>现下载地址为：http://www.ttiankan.com/<br/><br/>数据分类中有一点点问题,涉及到一个分类不正确.<br/><br/>需要一段代码搞定,具体如下:<br/><br/><textarea class="code" rows="10" cols="50">
&lt;!--#include&nbsp;file=&#34;include/conn.asp&#34;--&gt;
&lt;%
openconn
conn.execute(&#34;up&#100;ate&nbsp;[movie]&nbsp;set&nbsp;[cateid]=2&nbsp;wh&#101;re&nbsp;cateid&gt;100&#34;)
closeconn
%&gt;
</textarea><br/><br/>说明：2008-01-10以后下载的朋友不必上步操作。]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/188.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=188</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=188&amp;key=2be48ddc</trackback:ping></item><item><title>转载一些javascript/asp的函数</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/182.html</link><pubDate>Wed, 26 Dec 2007 12:28:54 +0800</pubDate><guid>http://www.slleo.com/blog/post/182.html</guid><description><![CDATA[<blockquote><div class="quote">//stream写文件<br/>function writeToTextFile(file,str,charset){<br/>  /\\/.test(file) ? &#39;&#39; : file = Server.MapPath(file);<br/>  cr&#101;ateFolder(file.replace(/\\[^\\]+$/,&#34;&#34;));<br/>  var stm = Server.Cr&#101;ateObject(&#34;adodb.stream&#34;);<br/>  stm.Type = 2;<br/>  stm.Mode = 3;<br/>  stm.Charset = charset;<br/>  stm.open;<br/>  stm.WriteText(str);<br/>  stm.SaveToFile(file,2);<br/>  stm.flush;<br/>  stm.close;<br/>}<br/>//stream读文件<br/>function readFromTextFile(file,charset){<br/>  /\\/.test(file) ? &#39;&#39; : file = Server.MapPath(file);<br/>  var stm = Server.Cr&#101;ateObject(&#34;adodb.stream&#34;);<br/>  stm.Type = 2;<br/>  stm.Mode = 3;<br/>  stm.Charset = charset;<br/>  stm.open;<br/>  stm.LoadFromFile(file);<br/>  var str = stm.ReadText;<br/>  stm.close;<br/>  return str;<br/>}<br/>//fso新建文件夹<br/>function cr&#101;ateFolder(folder){<br/>  var fso = Server.Cr&#101;ateObject(&#34;scripting.filesystemobject&#34;);<br/>  var parentFolder = folder.replace(/\\[^\\]+$/,&#34;&#34;);<br/>  if(fso.FolderExists(folder))<br/>    return true;<br/>  if(fso.FolderExists(parentFolder)){<br/>    fso.Cr&#101;ateFolder(folder);<br/>  }else{<br/>    cr&#101;ateFolder(parentFolder);<br/>    cr&#101;ateFolder(folder);<br/>  }<br/>}<br/>//fso判断文件是否存在<br/>function fileExists(file){<br/>  var fso = Server.Cr&#101;ateObject(&#34;scripting.filesystemobject&#34;);<br/>  if(fso.FileExists(file))<br/>    return true;<br/>  return false;<br/>}<br/>//获取页面源码<br/>function getHTTPPage(url,charset){<br/>  var http= Server.Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;);<br/>  http.open(&#34;GET&#34;,url,false);<br/>  http.send();<br/>  if (http.readystate!==4){return false;}<br/>  return(bytesToBstr(http.responseBody,charset));<br/>}<br/>//二进制转普通字符串<br/>function bytesToBstr(body,charset){<br/>  var stm = Server.Cr&#101;ateObject(&#34;adodb.stream&#34;);<br/>  stm.Type = 1;<br/>  stm.Mode =3;<br/>  stm.Open();<br/>  stm.Write = body;<br/>  stm.Position = 0;<br/>  stm.Type = 2;<br/>  stm.Charset = charset;<br/>  return(stm.ReadText);<br/>  stm.Close();<br/>}<br/></div></blockquote>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/182.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=182</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=182&amp;key=0f3dc72d</trackback:ping></item><item><title>ttiankan的程序24日更新</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/181.html</link><pubDate>Mon, 24 Dec 2007 22:36:30 +0800</pubDate><guid>http://www.slleo.com/blog/post/181.html</guid><description><![CDATA[更新的主要文件：<br/>1、修正了/admin/home/index.asp中一处bug；<br/>2、修正了/admin/home/snatch_ttiankan.asp一处bug；<br/>3、修正了/play.asp里一处bug；<br/><br/>22日后增加的功能有：<br/>1、增加版本号的支持，settings表中增加了version字段（nvarchar(100)，即文本，100长度）；<br/>2、有些朋友要www.ttiankan.com的数据，我完全打包下来比较麻烦，关键是图片太大；现在这个版本支持你采天天看的记录了（记录/图片）；<br/>3、有热心朋友提供自己辛苦更新而来的马克斯数据，现正计划将这一部做到后台里，可随时采集（此功能未完成）。<br/><br/>整包下载地址：http://www.ttiankan.com/ttiankan.rar，http://www.slleo.com/ttiankan.rar。<br/><br/>声明：如果你在使用过程中发现了bug或代码错误，请与我联系，QQ：9559122。<br/><br/>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/181.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=181</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=181&amp;key=842253e5</trackback:ping></item><item><title>ttiankan1221更新包</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/179.html</link><pubDate>Fri, 21 Dec 2007 19:58:44 +0800</pubDate><guid>http://www.slleo.com/blog/post/179.html</guid><description><![CDATA[ttiankan.com的程序，更新了一个文件，增加了几个小功能。<br/><br/>界面如下：<br/><img onload="ResizeImage(this,520)" src="attachments/month_0712/020071221195749.jpg" alt="" title=""/><br/><br/>更新的文件为：admin/home/index.asp<br/><br/>如果你是在12月20日下载的整个文件包，那么只需要下载此文件覆盖就可以了。<br/><br/>[down=attachments/month_0712/320071221195913.zip]点击下载index.asp[/down]<br/><br/>另外:发现home/movie/snatch_xunlei.asp里面的bug,现已修正,请下载并覆盖.<br/><br/>[down=attachments/month_0712/o2007122294041.zip]点击下载此文件[/down]<br/>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/179.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=179</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=179&amp;key=9e479dcc</trackback:ping></item><item><title>电影程序SMV提供下载[12-29日更新，可下载了]</title><author>a@b.com (Slleo)</author><link>http://www.slleo.com/blog/post/173.html</link><pubDate>Fri, 14 Dec 2007 20:45:16 +0800</pubDate><guid>http://www.slleo.com/blog/post/173.html</guid><description><![CDATA[<b>前端演示：</b>http://www.ttiankan.cn<br/><br/><b>脚本语言：</b>asp+access<br/><br/>说明与帮助：<br/><br/>一、目前的功能有；<br/>1、兼容马克斯4.1电影数据和Kingcms迅雷专版，可播放56、youku、tudou、6rooms、iask、ouou、xunlei等电影；<br/>2、支持56、tudou、youku、6rooms电影记录单条采集；<br/>3、支持对迅雷联盟资源的批量采集，远程下载图片等；<br/>4、良好的操作界面。<br/>5、静态化生成,模板标签化；<br/>6....<br/><br/>二、目录与文件说明：<br/>1、[admin]，后台管理文件所在，程序核心；<br/>2、[search]，搜索代码，里面就一个search.asp，模板自己修改；<br/>3、[template]，模板文件夹，修改里面的模板即可，文件名不要变；<br/>4、[uploadfiles]，图片上传文件夹，上传的图片会自动放在当前月份的文件夹下；<br/>5、[include]，包含前端调用的一些动态文件，如友情链接申请、数据库连接文件等；<br/>6、play.asp，前端播放的主要文件，模板需要自己改.<br/>7、说明与帮助.txt，即本文件。<br/>8、除以上说明的文件外，其它的均可删除；<br/><br/>三、安装说明<br/>1、将所有文件解压到网站根目录；<br/>2、更改管理目录admin，然后更改/include里面的conn.asp里面的数据库地址即可；<br/>3、管理员初始用户和密码均为admin，注：这里我采用了sha256的加密方式，不再是那个md5；<br/>4、使用者最好会一点asp，这样如果要添加自己的功能是非常方便的。<br/><br/>四、重要说明<br/>1、程序在不断的更新中，且后期更新会考虑到与以前的程序兼容，如果发现bug，请及时与我联系（QQ9559122,Email:slleo@yeah.net）；<br/>2、更新时请备好份数据库。<br/><br/>五、最新更新 2007-12-25 13:13<br/>2007-12-23更新：<br/>/admin/home/，增加几个功能。<br/>/admin/movie/snatchfun.asp，修正一处bug.<br/>/admin/database/db.asp，数据库表settings中增加了一个字段version,文本型，长度100<br/><br/><br/>2007-12-24更新:<br/>修正了/admin/home/index.asp中一处bug.<br/>修正了/admin/home/snatch_ttiankan.asp一处bug.<br/>修正了/play.asp里一处bug.<br/><br/>2007-12-25更新:<br/>完善几处功能:<br/>1、版本号用户可改；<br/>2、电影记录被彻底删除时，相应的html及图片文件也被删除(原先只删除了图片文件，没有删除html文件)。<br/>3、修正56电影不能播放的问题。<br/>4、修正了/admin/home/snatch_ttiankan.asp一处bug.<br/><br/><br/>2007-12-26 22:00更新<br/>1、/admin/movie/sataicfun.asp 修正了采集天天看的记录时生成文件没有播放地址的问题；<br/>2、/admin/home/snatch_ttiankan.asp 完善代码一处<br/>3、/admin/home/snatch_maxz.asp 感谢一朋友提供数据马克斯商业版数据（至12-22号）。这下好了，你可以采到6220条记录了（大部分带图，95%的正确性）<br/><br/><font color="Red">2007-12-29 22:40 </font>此次更新比较多<br/>1、/admin/home/index.asp 针对新模板改动了几处标签；<br/>2、/admin/home/settings.asp 增加了模板路径自定义和几处广告js修改功能；<br/>3、/play.asp，/report.asp<br/>4、/include/中的部分文件;<br/>5、/admin/database/db.asp，修改了settings字段，增加template列；<br/>6、模板改动比较大，这个希望会改模板的同学自己努一下力。ttiankan目前模板不提供下载（不然很多同学直接拿过去，原封不动...）<br/>7、/search/index.asp，增加了对演员、导演搜索的支持。<br/>8、增加三个js广告的支持。<br/><br/><br/>另外:v2.0测试中...<br/><br/>计划中的功能：导入马克斯提供者的数据，无用图片的清除以入电影评分与评论功能。<br/><br/><br/>后台部分界面参见：http://www.slleo.com/article.asp?id=172<br/>凡下载的同学，请留个言,以支持一下，谢谢。<br/><br/>击下载地址:<br/>1、http://www.slleo.com/smv.rar (右键另存为)<br/>2、http://www.ttiankan.cn/smv.rar (建议用迅雷下载)<br/>]]></description><category>学习</category><comments>http://www.slleo.com/blog/post/173.html#comment</comments><wfw:comment>http://www.slleo.com/blog/</wfw:comment><wfw:commentRss>http://www.slleo.com/blog/feed.asp?cmt=173</wfw:commentRss><trackback:ping>http://www.slleo.com/blog/cmd.asp?act=tb&amp;id=173&amp;key=09ce25aa</trackback:ping></item></channel></rss>
