﻿<?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>BlogJava-Java &amp;&amp; Flex-文章分类-PHP</title><link>http://www.blogjava.net/sl2cj/category/11879.html</link><description>&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp----&gt;乞怪猪blog搬家了--[www.ialway.com/blog]--希望继续关注!谢谢!^0^</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 05:53:50 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 05:53:50 GMT</pubDate><ttl>60</ttl><item><title>用PHP读取和编写XML DOM</title><link>http://www.blogjava.net/sl2cj/articles/74232.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Tue, 10 Oct 2006 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/74232.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/74232.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/74232.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/74232.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/74232.html</trackback:ping><description><![CDATA[
		<font size="2">用 PHP 读取和编写可扩展标记语言（XML）看起来可能有点恐怖。实际上，XML 和它的所有相关技术可能是恐怖的，但是用 PHP 读取和编写 XML 不一定是项恐怖的任务。首先，需要学习一点关于 XML 的知识 —— 它是什么，用它做什么。然后，需要学习如何用 PHP 读取和编写 XML，而有许多种方式可以做这件事。<br /><br />　　本文提供了 XML 的简短入门，然后解释如何用 PHP 读取和编写 XML。<br /><br />　　<b>什么是 XML？</b><br /><br />　　XML 是一种数据存储格式。它没有定义保存什么数据，也没有定义数据的格式。XML 只是定义了标记和这些标记的属性。格式良好的 XML 标记看起来像这样：<br /><br />＜name＞Jack Herrington＜/name＞<br /><br />　　这个 ＜name＞ 标记包含一些文本：Jack Herrington。<br /><br />　　不包含文本的 XML 标记看起来像这样：<br /><br />＜powerUp /＞<br /><br />　　用 XML 对某件事进行编写的方式不止一种。例如，这个标记形成的输出与前一个标记相同：<br /><br />＜powerUp＞＜/powerUp＞<br /><br />　　也可以向 XML 标记添加属性。例如，这个 ＜name＞ 标记包含 first 和 last 属性：<br /><br />＜name first="Jack" last="Herrington" /＞<br /><br />　　也可以用 XML 对特殊字符进行编码。例如，&amp; 符号可以像这样编码：<br /><br />　　&amp;<br /><br />　　包含标记和属性的 XML 文件如果像示例一样格式化，就是<i>格式良好的</i>，这意味着标记是对称的，字符的编码正确。清单 1 是一份格式良好的 XML 的示例。<br /><br /><b>　　清单 1. XML 图书列表示例</b><br /><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜books＞ 
  ＜book＞ 
  ＜author＞Jack Herrington＜/author＞ 
  ＜title＞PHP Hacks＜/title＞ 
  ＜publisher＞O'Reilly＜/publisher＞ 
  ＜/book＞ 
  ＜book＞ 
  ＜author＞Jack Herrington＜/author＞ 
  ＜title＞Podcasting Hacks＜/title＞ 
  ＜publisher＞O'Reilly＜/publisher＞ 
  ＜/book＞ 
  ＜/books＞ 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　清单 1 中的 XML 包含一个图书列表。父标记 ＜books＞ 包含一组 ＜book＞ 标记，每个 ＜book＞ 标记又包含 ＜author＞、＜title＞ 和 ＜publisher＞ 标记。<br /><br />　　当 XML 文档的标记结构和内容得到外部模式文件的验证后，XML 文档就是正确的。模式文件可以用不同的格式指定。对于本文来说，所需要的只是格式良好的 XML。<br /><br />　　如果觉得 XML 看起来很像超文本标记语言（HTML），那么就对了。XML 和 HTML 都是基于标记的语言，它们有许多相似之处。但是，要着重指出的是：虽然 XML 文档可能是格式良好的 HTML，但不是所有的 HTML 文档都是格式良好的 XML。换行标记（br）是 XML 和 HTML 之间区别的一个好例子。这个换行标记是格式良好的 HTML，但不是格式良好的 XML：<br /><br />＜p＞This is a paragraph<br /><br />With a line break＜/p＞ <br /><br />　　这个换行标记是格式良好的 XML 和 HTML：<br /><br />＜p＞This is a paragraph＜br /＞<br />With a line break＜/p＞ <br /><br />　　如果要把 HTML 编写成同样是格式良好的 XML，请遵循 W3C 委员会的可扩展超文本标记语言（</font>
		<a href="http://www.qqread.com/keywords/xhtml.html" target="_blank">
				<font size="2">XHTML</font>
		</a>
		<font size="2">）标准（参见 参考资料）。所有现代的浏览器都能呈现 XHTML。而且，还可以用 XML 工具读取 XHTML 并找出文档中的数据，这比解析 HTML 容易得多。<br /><br />　　<b>使用 DOM 库读取 XML</b><br /><br />　　读取格式良好的 XML 文件最容易的方式是使用编译成某些 PHP 安装的文档对象模型 （DOM）库。DOM 库把整个 XML 文档读入内存，并用节点树表示它，如图 1 所示。<br /><br /><b>　　图 1. 图书 XML 的 XML DOM 树</b><br /><img alt="用PHP读取和编写XML DOM（图一）" src="http://www.qqread.com/ArtImage/20060210/it119_1.gif" border="0" /><br /><br />　　树顶部的 books 节点有两个 book 子标记。在每本书中，有 author、publisher 和 title 几个节点。author、publisher 和 title 节点分别有包含文本的文本子节点。<br /><br />　　读取图书 XML 文件并用 DOM 显示内容的代码如清单 2 所示。<br /><br /><b>　　清单 2. 用 DOM 读取图书 XML</b><br /><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜?php 
  $doc = new DOMDocument(); 
  $doc-＞load( 'books.xml' ); 
   
  $books = $doc-＞getElementsByTagName( "book" ); 
  foreach( $books as $book ) 
  { 
  $authors = $book-＞getElementsByTagName( "author" ); 
  $author = $authors-＞item(0)-＞nodeValue; 
   
  $publishers = $book-＞getElementsByTagName( "publisher" ); 
  $publisher = $publishers-＞item(0)-＞nodeValue; 
   
  $titles = $book-＞getElementsByTagName( "title" ); 
  $title = $titles-＞item(0)-＞nodeValue; 
   
  echo "$title - $author - $publisher\n"; 
  } 
  ?＞ 
  </font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　脚本首先创建一个 new DOMdocument 对象，用 load 方法把图书 XML 装入这个对象。之后，脚本用 getElementsByName 方法得到指定名称下的所有元素的列表。<br /><br />　　在 book 节点的循环中，脚本用 getElementsByName 方法获得 author、publisher 和 title 标记的 nodeValue。nodeValue 是节点中的文本。脚本然后显示这些值。<br /><br />　　可以在命令行上像这样运行 PHP 脚本：<br /><br />% php e1.php <br />PHP Hacks - Jack Herrington - O'Reilly<br />Podcasting Hacks - Jack Herrington - O'Reilly<br />% <br /><br />　　可以看到，每个图书块输出一行。这是一个良好的开始。但是，如果不能访问 XML DOM 库该怎么办？ <br /><br /><br /><strong>用 SAX 解析器读取 </strong></font>
		<a href="http://www.qqread.com/keywords/xml.html" target="_blank">
				<strong>
						<font size="2">XML</font>
				</strong>
		</a>
		<font size="2">
				<strong>
						<br />
						<br />
				</strong>　　读取 XML 的另一种方法是使用 XML Simple API（SAX）解析器。</font>
		<a href="http://www.qqread.com/keywords/php.html" target="_blank">
				<font size="2">PHP</font>
		</a>
		<font size="2"> 的大多数安装都包含 SAX 解析器。SAX 解析器运行在回调模型上。每次打开或关闭一个标记时，或者每次解析器看到文本时，就用节点或文本的信息回调用户定义的函数。<br /><br />　　SAX 解析器的优点是，它是真正轻量级的。解析器不会在内存中长期保持内容，所以可以用于非常巨大的文件。缺点是编写 SAX 解析器回调是件非常麻烦的事。清单 3 显示了使用 SAX 读取图书 XML 文件并显示内容的代码。<br /><br /><b>　　清单 3. 用 SAX 解析器读取图书 XML </b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜?php 
  $g_books = array(); 
  $g_elem = null; 
   
  function startElement( $parser, $name, $attrs )  
  { 
  global $g_books, $g_elem; 
  if ( $name == 'BOOK' ) $g_books []= array(); 
  $g_elem = $name; 
  } 
   
  function endElement( $parser, $name )  
  { 
  global $g_elem; 
  $g_elem = null; 
  } 
   
  function textData( $parser, $text ) 
  { 
  global $g_books, $g_elem; 
  if ( $g_elem == 'AUTHOR' || 
  $g_elem == 'PUBLISHER' || 
  $g_elem == 'TITLE' ) 
  { 
  $g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text; 
  } 
  } 
   
  $parser = xml_parser_create(); 
   
  xml_set_element_handler( $parser, "startElement", "endElement" ); 
  xml_set_character_data_handler( $parser, "textData" ); 
   
  $f = fopen( 'books.xml', 'r' ); 
   
  while( $data = fread( $f, 4096 ) ) 
  { 
  xml_parse( $parser, $data ); 
  } 
   
  xml_parser_free( $parser ); 
   
  foreach( $g_books as $book ) 
  { 
  echo $book['TITLE']." - ".$book['AUTHOR']." - "; 
  echo $book['PUBLISHER']."\n"; 
  } 
  ?＞ 
  </font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　脚本首先设置 g_books 数组，它在内存中容纳所有图书和图书信息，g_elem 变量保存脚本目前正在处理的标记的名称。然后脚本定义回调函数。在这个示例中，回调函数是 startElement、endElement 和 textData。在打开和关闭标记的时候，分别调用 startElement 和 endElement 函数。在开始和结束标记之间的文本上面，调用 textData。<br /><br />　　在这个示例中，startElement 标记查找 book 标记，在 book 数组中开始一个新元素。然后，textData 函数查看当前元素，看它是不是 publisher、title 或 author 标记。如果是，函数就把当前文本放入当前图书。<br /><br />　　为了让解析继续，脚本用 xml_parser_create 函数创建解析器。然后，设置回调句柄。之后，脚本读取文件并把文件的大块内容发送到解析器。在文件读取之后，xml_parser_free 函数删除解析器。脚本的末尾输出 g_books 数组的内容。<br /><br />　　可以看到，这比编写 DOM 的同样功能要困难得多。如果没有 DOM 库也没有 SAX 库该怎么办？还有替代方案么？<br /><br />　　<b>用正则表达式解析 XML</b><br /><br />　　可以肯定，即使提到这个方法，有些工程师也会批评我，但是确实可以用正则表达式解析 XML。清单 4 显示了使用 preg_ 函数读取图书文件的示例。<br /><br /><b>　　清单 4. 用正则表达式读取 XML</b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜?php 
  $xml = ""; 
  $f = fopen( 'books.xml', 'r' ); 
  while( $data = fread( $f, 4096 ) ) { $xml .= $data; } 
  fclose( $f ); 
   
  preg_match_all( "/\＜book\＞(.*?)\＜\/book\＞/s",  
  $xml, $bookblocks ); 
   
  foreach( $bookblocks[1] as $block ) 
  { 
  preg_match_all( "/\＜author\＞(.*?)\＜\/author\＞/",  
  $block, $author ); 
  preg_match_all( "/\＜title\＞(.*?)\＜\/title\＞/",  
  $block, $title ); 
  preg_match_all( "/\＜publisher\＞(.*?)\＜\/publisher\＞/",  
  $block, $publisher ); 
  echo( $title[1][0]." - ".$author[1][0]." - ". 
  $publisher[1][0]."\n" ); 
  } 
  ?＞ 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　请注意这个代码有多短。开始时，它把文件读进一个大的字符串。然后用一个 regex 函数读取每个图书项目。最后用 foreach 循环，在每个图书块间循环，并提取出 author、title 和 publisher。<br /><br />　　那么，缺陷在哪呢？使用正则表达式代码读取 XML 的问题是，它并没先进行检查，确保 XML 的格式良好。这意味着在读取之前，无法知道 XML 是否格式良好。而且，有些格式正确的 XML 可能与正则表达式不匹配，所以日后必须修改它们。<br /><br />　　我从不建议使用正则表达式读取 XML，但是有时它是兼容性最好的方式，因为正则表达式函数总是可用的。不要用正则表达式读取直接来自用户的 XML，因为无法控制这类 XML 的格式或结构。应当一直用 DOM 库或 SAX 解析器读取来自用户的 XML。 <br /><br /><br /></font>
		<font size="2">
				<strong>用 DOM 编写 XML<br /><br /></strong>　　读取 XML 只是公式的一部分。该怎样编写 XML 呢？编写 XML 最好的方式就是用 DOM。清单 5 显示了 DOM 构建图书 XML 文件的方式。<br /><br /><b>　　　清单 5. 用 DOM 编写图书 XML</b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜?php 
  $books = array(); 
  $books [] = array( 
  'title' =＞ 'PHP Hacks', 
  'author' =＞ 'Jack Herrington', 
  'publisher' =＞ "O'Reilly" 
  ); 
  $books [] = array( 
  'title' =＞ 'Podcasting Hacks', 
  'author' =＞ 'Jack Herrington', 
  'publisher' =＞ "O'Reilly" 
  ); 
   
  $doc = new DOMDocument(); 
  $doc-＞formatOutput = true; 
   
  $r = $doc-＞createElement( "books" ); 
  $doc-＞appendChild( $r ); 
   
  foreach( $books as $book ) 
  { 
  $b = $doc-＞createElement( "book" ); 
   
  $author = $doc-＞createElement( "author" ); 
  $author-＞appendChild( 
  $doc-＞createTextNode( $book['author'] ) 
  ); 
  $b-＞appendChild( $author ); 
   
  $title = $doc-＞createElement( "title" ); 
  $title-＞appendChild( 
  $doc-＞createTextNode( $book['title'] ) 
  ); 
  $b-＞appendChild( $title ); 
   
  $publisher = $doc-＞createElement( "publisher" ); 
  $publisher-＞appendChild( 
  $doc-＞createTextNode( $book['publisher'] ) 
  ); 
  $b-＞appendChild( $publisher ); 
   
  $r-＞appendChild( $b ); 
  } 
   
  echo $doc-＞saveXML(); 
  ?＞ 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　在脚本的顶部，用一些示例图书装入了 books 数组。这个数据可以来自用户也可以来自数据库。<br /><br />　　示例图书装入之后，脚本创建一个 new DOMDocument，并把根节点 books 添加到它。然后脚本为每本书的 author、title 和 publisher 创建节点，并为每个节点添加文本节点。每个 book 节点的最后一步是重新把它添加到根节点 books。<br /><br />　　脚本的末尾用 saveXML 方法把 XML 输出到控制台。（也可以用 save 方法创建一个 XML 文件。）脚本的输出如清单 6 所示。<br /><br /><b>清单 6. DOM 构建脚本的输出</b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  % php e4.php  
  ＜?xml version="1.0"?＞ 
  ＜books＞ 
  ＜book＞ 
  ＜author＞Jack Herrington＜/author＞ 
  ＜title＞PHP Hacks＜/title＞ 
  ＜publisher＞O'Reilly＜/publisher＞ 
  ＜/book＞ 
  ＜book＞ 
  ＜author＞Jack Herrington＜/author＞ 
  ＜title＞Podcasting Hacks＜/title＞ 
  ＜publisher＞O'Reilly＜/publisher＞ 
  ＜/book＞ 
  ＜/books＞ 
  % 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　使用 DOM 的真正价值在于它创建的 XML 总是格式正确的。但是如果不能用 DOM 创建 XML 时该怎么办？<br /><br />　　<b>用 PHP 编写 XML</b><br /><br />　　如果 DOM 不可用，可以用 PHP 的文本模板编写 XML。清单 7 显示了 PHP 如何构建图书 XML 文件。<br /><br /><b>清单 7. 用 PHP 编写图书 XML</b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2"> 
  ＜?php 
  $books = array(); 
  $books [] = array( 
  'title' =＞ 'PHP Hacks', 
  'author' =＞ 'Jack Herrington', 
  'publisher' =＞ "O'Reilly" 
  ); 
  $books [] = array( 
  'title' =＞ 'Podcasting Hacks', 
  'author' =＞ 'Jack Herrington', 
  'publisher' =＞ "O'Reilly" 
  ); 
  ?＞ 
  ＜books＞ 
  ＜?php 
   
  foreach( $books as $book ) 
  { 
  ?＞ 
  ＜book＞ 
  ＜title＞＜?php echo( $book['title'] ); ?＞＜/title＞ 
  ＜author＞＜?php echo( $book['author'] ); ?＞ 
  ＜/author＞ 
  ＜publisher＞＜?php echo( $book['publisher'] ); ?＞ 
  ＜/publisher＞ 
  ＜/book＞ 
  ＜?php 
  } 
  ?＞ 
  ＜/books＞ 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　脚本的顶部与 DOM 脚本类似。脚本的底部打开 books 标记，然后在每个图书中迭代，创建 book 标记和所有的内部 title、author 和 publisher 标记。<br /><br />　　这种方法的问题是对实体进行编码。为了确保实体编码正确，必须在每个项目上调用 htmlentities 函数，如清单 8 所示。<br /><br /><b>清单 8. 使用 htmlentities 函数对实体编码</b><br /></font>
		<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<font size="2">  
  ＜books＞ 
  ＜?php 
   
  foreach( $books as $book ) 
  { 
  $title = htmlentities( $book['title'], ENT_QUOTES ); 
  $author = htmlentities( $book['author'], ENT_QUOTES ); 
  $publisher = htmlentities( $book['publisher'], ENT_QUOTES ); 
  ?＞ 
  ＜book＞ 
  ＜title＞＜?php echo( $title ); ?＞＜/title＞ 
  ＜author＞＜?php echo( $author ); ?＞ ＜/author＞ 
  ＜publisher＞＜?php echo( $publisher ); ?＞ 
  ＜/publisher＞ 
  ＜/book＞ 
  ＜?php 
  } 
  ?＞ 
  ＜/books＞ 
</font>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">　　这就是用基本的 PHP 编写 XML 的烦人之处。您以为自己创建了完美的 XML，但是在试图使用数据的时候，马上就会发现某些元素的编码不正确。<br /><br />　　<b>结束语</b><br /><br />　　XML 周围总有许多夸大之处和混淆之处。但是，并不像您想像的那么难 —— 特别是在 PHP 这样优秀的语言中。在理解并正确地实现了 XML 之后，就会发现有许多强大的工具可以使用。XPath 和 XSLT 就是这样两个值得研究的工具。 </font>
<img src ="http://www.blogjava.net/sl2cj/aggbug/74232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-10-10 10:33 <a href="http://www.blogjava.net/sl2cj/articles/74232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在PHP5中使用DOM控制XML</title><link>http://www.blogjava.net/sl2cj/articles/74223.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Tue, 10 Oct 2006 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/74223.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/74223.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/74223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/74223.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/74223.html</trackback:ping><description><![CDATA[
		<div class="content imgzoom" id="articlebody">
				<font size="2">PHP5中增强了XML的支持，使用DOM扩展了XML操作的能耐。这些函数作为 PHP5 核心的一部分，无需被安装即可使用。 <br />   <br />  下面的例子简单的演示了DOM对XML的操作，详细解释请看代码中的注释 <br />   <br />  &lt;? <br />  /************************************************ <br />  ** use XML in PHP5 <br />  ** reference site: <br />  ** http://cn.php.net/manual/zh/ref.dom.php <br />  ** the follow codes need PHP5 support <br />  ** www.knowsky.com <br />  *************************************************/ <br />   <br />   <br />  //首先要创建一个DOMDocument对象 <br />  $dom = new DomDocument(); <br />  //然后载入XML文件 <br />  $dom -&gt; load("test.xml"); <br />   <br />  //输出XML文件 <br />  //header("Content-type: text/xml;charset=gb2312"); <br />  //echo $dom -&gt; saveXML(); <br />   <br />  //保存XML文件，返回值为int（文件大小，以字节为单位） <br />  //$dom -&gt; save("newfile.xml"); <br />   <br />  echo "&lt;hr/&gt;取得所有的title元素:&lt;hr/&gt;"; <br />  $titles = $dom -&gt; getElementsByTagName("title"); <br />  foreach ($titles as $node) <br />  { <br />   echo $node -&gt; textContent . "&lt;br/&gt;"; <br />   //这样也可以 <br />   //echo $node-&gt;firstChild-&gt;data . "&lt;br/&gt;"; <br />  } <br />   <br />  /* <br />  echo "&lt;hr/&gt;从根结点遍历所有结点：&lt;br/&gt;"; <br />  foreach ($dom-&gt;documentElement-&gt;childNodes as $items) { <br />   //如果节点是一个元素(nodeType == 1)并且名字是item就继续循环 <br />   if ($items-&gt;nodeType == 1 &amp;&amp; $items-&gt;nodeName == "item") { <br />   foreach ($items-&gt;childNodes as $titles) { <br />   //如果节点是一个元素，并且名字是title就打印它. <br />   if ($titles-&gt;nodeType == 1 &amp;&amp; $titles-&gt;nodeName == "title") { <br />   print $titles-&gt;textContent . "\n"; <br />   } <br />   } <br />   } <br />  } <br />  */ <br />   <br />  //使用XPath查询数据 <br />  echo "&lt;hr/&gt;使用XPath查询的title节点结果:&lt;hr/&gt;"; <br />  $xpath = new domxpath($dom); <br />  $titles = $xpath-&gt;query("/rss/channel/item/title"); <br />  foreach ($titles as $node) <br />  { <br />   echo $node-&gt;textContent."&lt;br/&gt;"; <br />  } <br />  /* <br />  这样和使用getElementsByTagName()方法差不多，但是Xpath要强大的多 <br />  深入一点可能是这样： <br />  /rss/channel/item[position() = 1]/title 返回第一个item元素的所有 <br />  /rss/channel/item/title[@id = '23'] 返回所有含有id属性并且值为23的title <br />  /rss/channel/&amp;folder&amp;/title 返回所有articles元素下面的title(译者注：&amp;folder&amp;代表目录深度) <br />  */ <br /><br /><br /><div class="content imgzoom" id="articlebody">//向DOM中写入新数据 <br />  $item = $dom-&gt;createElement("item"); <br />  $title = $dom-&gt;createElement("title"); <br />  $titleText = $dom-&gt;createTextNode("title text"); <br />  $title-&gt;appendChild($titleText); <br />  $item-&gt;appendChild($title); <br />  $dom-&gt;documentElement-&gt;getElementsByTagName('channel')-&gt;item(0)-&gt;appendChild($item); <br />   <br />  //从DOM中删除节点 <br />  //$dom-&gt;documentElement-&gt;RemoveChild($dom-&gt;documentElement-&gt;getElementsByTagName("channel")-&gt;item(0)); <br />  //或者使用xpath查询出节点再删除 <br />  //$dom-&gt;documentElement-&gt;RemoveChild($xpath-&gt;query("/rss/channel")-&gt;item(0)); <br />  //$dom-&gt;save("newfile.xml"); <br />   <br />  //从DOM中修改节点数据 <br />  //修改第一个title的文件 <br />  //这个地方比较笨，新创建一个节点，然后替换旧的节点。如果哪位朋友有其他好的方法请一定要告诉我 <br />  $firstTitle = $xpath-&gt;query("/rss/channel/item/title")-&gt;item(0); <br />  $newTitle = $dom-&gt;createElement("title"); <br />  $newTitle-&gt;appendChild(new DOMText("This's the new title text!!!")); <br />  $firstTitle-&gt;parentNode-&gt;replaceChild($newTitle, $firstTitle); <br />  //修改属性 <br />  //$firstTitle = $xpath-&gt;query("/rss/channel/item/title")-&gt;item(0); <br />  //$firstTitle-&gt;setAttribute("orderby", "4"); <br />  $dom-&gt;save("newfile.xml"); <br />   <br />  echo "&lt;hr/&gt;&lt;a href=\"newfile.xml\"&gt;查看newfile.xml&lt;/a&gt;"; <br />   <br />  //下面的代码获得并解析php.net的首页，将返第一个title元素的内容。 <br />  /* <br />  $dom-&gt;loadHTMLFile("http://www.php.net/"); <br />  $title = $dom-&gt;getElementsByTagName("title"); <br />  print $title-&gt;item(0)-&gt;textContent; <br />  */ <br />  ?&gt; <br />   <br />  下面是test.xml文件代码： <br />   <br />  &lt;?xml version="1.0" encoding="gb2312"?&gt; <br />  &lt;rss version="2.0"&gt; <br />  &lt;channel&gt; <br />  &lt;title&gt;javascript&lt;/title&gt; <br />  &lt;link&gt;http://blog.csdn.net/zhongmao/category/29515.aspx&lt;/link&gt; <br />  &lt;description&gt;javascript&lt;/description&gt; <br />  &lt;language&gt;zh-chs&lt;/language&gt; <br />  &lt;generator&gt;.text version 0.958.2004.2001&lt;/generator&gt; <br />  &lt;item&gt; <br />  &lt;creator&gt;zhongmao&lt;/creator&gt; <br />  &lt;title orderby="1"&gt;out put excel used javascript&lt;/title&gt; <br />  &lt;link&gt;http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx&lt;/link&gt; <br />  &lt;pubdate&gt;wed, 15 sep 2004 13:32:00 gmt&lt;/pubdate&gt; <br />  &lt;guid&gt;http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx&lt;/guid&gt; <br />  &lt;comment&gt;http://blog.csdn.net/zhongmao/comments/105385.aspx&lt;/comment&gt; <br />  &lt;comments&gt;http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx#feedback<br />&lt;/comments&gt; <br />  &lt;comments&gt;2&lt;/comments&gt; <br />  &lt;commentrss&gt;http://blog.csdn.net/zhongmao/comments/commentrss/105385.aspx<br />&lt;/commentrss&gt; <br />  &lt;ping&gt;http://blog.csdn.net/zhongmao/services/trackbacks/105385.aspx&lt;/ping&gt; <br />  &lt;description&gt;test description&lt;/description&gt; <br />  &lt;/item&gt; <br />  &lt;item&gt; <br />  &lt;creator&gt;zhongmao&lt;/creator&gt; <br />  &lt;title orderby="2"&gt;out put word used javascript&lt;/title&gt; <br />  &lt;link&gt;http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx&lt;/link&gt; <br />  &lt;pubdate&gt;fri, 06 aug 2004 16:33:00 gmt&lt;/pubdate&gt; <br />  &lt;guid&gt;http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx&lt;/guid&gt; <br />  &lt;comment&gt;http://blog.csdn.net/zhongmao/comments/67161.aspx&lt;/comment&gt; <br />  &lt;comments&gt;http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx#feedback<br />&lt;/comments&gt; <br />  &lt;comments&gt;0&lt;/comments&gt; <br />  &lt;commentrss&gt;http://blog.csdn.net/zhongmao/comments/commentrss/67161.aspx<br />&lt;/commentrss&gt; <br />  &lt;ping&gt;http://blog.csdn.net/zhongmao/services/trackbacks/67161.aspx&lt;/ping&gt; <br />  &lt;description&gt;test word description&lt;/description&gt; <br />  &lt;/item&gt; <br />  &lt;item&gt; <br />  &lt;creator&gt;zhongmao&lt;/creator&gt; <br />  &lt;title orderby="3"&gt;xmlhttp&lt;/title&gt; <br />  &lt;link&gt;http://blog.csdn.net/zhongmao/archive/2004/08/02/58417.aspx&lt;/link&gt; <br />  &lt;pubdate&gt;mon, 02 aug 2004 10:11:00 gmt&lt;/pubdate&gt; <br />  &lt;guid&gt;http://blog.csdn.net/zhongmao/archive/2004/08/02/58417.aspx&lt;/guid&gt; <br />  &lt;comment&gt;http://blog.csdn.net/zhongmao/comments/58417.aspx&lt;/comment&gt; <br />  &lt;comments&gt;http://blog.csdn.net/zhongmao/archive/2004<br />/08/02/58417.aspx#feedback&lt;/comments&gt; <br />  &lt;comments&gt;0&lt;/comments&gt; <br />  &lt;commentrss&gt;http://blog.csdn.net/zhongmao/comments/commentrss<br />/58417.aspx&lt;/commentrss&gt; <br />  &lt;ping&gt;http://blog.csdn.net/zhongmao/services/trackbacks/58417.aspx&lt;/ping&gt; <br />  &lt;description&gt;xmlhttpaaa asd bb cc dd&lt;/description&gt; <br />  &lt;/item&gt; <br />  &lt;/channel&gt; <br />  &lt;/rss&gt; <br /></div></font>
		</div>
<img src ="http://www.blogjava.net/sl2cj/aggbug/74223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-10-10 09:53 <a href="http://www.blogjava.net/sl2cj/articles/74223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用PHP5 DOM-XML创建和解析XML文件</title><link>http://www.blogjava.net/sl2cj/articles/74208.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Tue, 10 Oct 2006 00:37:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/74208.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/74208.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/74208.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/74208.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/74208.html</trackback:ping><description><![CDATA[
		<h2 lass="content-title">使用PHP5 DOM-XML创建和解析XML文件</h2>  
<ul class="tabs primary"><li class="active"><a class="active" href="http://www.devfront.com:8080/?q=node/183">查看</a></li><li><a href="http://www.devfront.com:8080/?q=node/183/track">跟踪</a></li></ul><!-- start main content --><!-- begin content --><div class="node"><div class="info">由 Cloud 在 周二, 2006-09-12 01:44 提交</div><div class="content"><p>先用PHP5创建一个xml文件</p><pre>&lt;?php
$dom = new DomDocument("1.0");

$root = $dom -&gt; createElement("html");
$title = $dom -&gt; createElement("title");
$meta = $dom -&gt; createElement("meta");
$head = $dom -&gt; createElement("head");
$titleText = $dom -&gt; createTextNode("this is a title");
$metaText = $dom -&gt; createTextNode("this is a meta");
$table = $dom -&gt; createElement("table");
$tr = $dom -&gt; createElement("tr");
$td = $dom -&gt; createElement("td");
$tdText = $dom -&gt; createTextNode("words");

$root = $dom -&gt; appendChild($root);
$head = $root -&gt; appendChild($head);
$title = $head -&gt; appendChild($title);
$meta = $head -&gt; appendChild($meta);
$comment = $title -&gt; appendChild($titleText);
$meta -&gt; appendChild($metaText);

$td -&gt; appendChild($tdText);
$tr -&gt; appendChild($td);
$table -&gt; appendChild($tr);
$root -&gt; appendChild($table);
$dom -&gt; save("test5.xml");


echo "&lt;hr/&gt;&lt;a href=\"test5.xml\"&gt;查看test5.xml&lt;/a&gt;";

?&gt;
</pre><p>test5.xml</p><pre>&lt;?xml version="1.0"?&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;this is a title&lt;/title&gt;
&lt;meta&gt;this is a meta&lt;/meta&gt;
&lt;/head&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;words&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/html&gt;
</pre><p>解析test5.xml</p><pre>&lt;?php
//首先要创建一个DOMDocument对象
$dom = new DomDocument("1.0");

//然后载入XML文件
$dom -&gt; load("test5.xml");

//向DOM中写入新数据
$tr = $dom -&gt; createElement("tr");
$td = $dom -&gt; createElement("td");
$tdText = $dom -&gt; createTextNode("hello world");
$td -&gt; appendChild($tdText);
$tr -&gt; appendChild($td);
$dom -&gt; documentElement -&gt; getElementsByTagName("table") -&gt; item(0) -&gt; appendChild($tr);

//向DOM中写入新数据
$tr2 = $dom -&gt; createElement("tr");
$td2 = $dom -&gt; createElement("td");
$tdText2 = $dom -&gt; createTextNode("hello world too");
$td2 -&gt; appendChild($tdText2);
$tr2 -&gt; appendChild($td2);
$xpath = new domxpath($dom);
$trs = $xpath -&gt; query("/html/table");
$trs -&gt; item(0) -&gt; appendChild($tr2);

$dom -&gt; save("newfile.xml");

echo "&lt;hr/&gt;&lt;a href=\"newfile.xml\"&gt;查看newfile.xml&lt;/a&gt;";

print "&lt;hr&gt;取得所有的td元素&lt;br&gt;";

$tds = $dom -&gt; getElementsByTagName("td");
foreach ($tds as $nodes)
{
	print $nodes -&gt; textContent."&lt;br&gt;";
}

echo "&lt;hr/&gt;使用XPath查询的td节点结果:&lt;hr/&gt;";
$tdss = $xpath -&gt; query("/html/table/tr");
foreach ($tdss as $nodes)
{
	print $nodes -&gt; textContent."&lt;br&gt;";
}
?&gt;
</pre><br /></div><div class="links"><a title="阅读Cloud的最新Blog文章" href="http://www.devfront.com:8080/?q=cloud">Cloud的Blog</a> | <a title="共享你有关本文的思想和意见。" href="http://www.devfront.com:8080/?q=comment/reply/183#comment">发表评论</a></div><div class="terms">( categories: <a href="http://www.devfront.com:8080/?q=taxonomy/term/8">PHP</a> )</div></div><a id="comment"></a><form action="?q=comment" method="post"><div><input type="hidden" value="183" name="edit[nid]" /><a id="comment-44"></a><div class="comment "><div class="title"><a class="active" href="http://www.devfront.com:8080/?q=node/183#comment-44">如果要提取xml的所有字符串信息</a></div><div class="author">由 Marchday 在 周二, 2006-09-12 13:52 提交</div><div class="content"><br /><pre>&lt;?php
header("Content-Type: text/xml");

$doc = new DOMDocument('1.0');
// we want a nice output
//$doc-&gt;formatOutput = true;
$root = $doc-&gt;createElement('book');
$root = $doc-&gt;appendChild($root);
$title = $doc-&gt;createElement('title');
$title = $root-&gt;appendChild($title);
$text = $doc-&gt;createTextNode('This is the title');
$text = $title-&gt;appendChild($text);
//echo "Saving all the document:\n";
echo $doc-&gt;saveXML() . "\n";
//echo "Saving only the title part:\n";
//echo $doc-&gt;saveXML($title) . "\n";
?&gt; 
</pre><p>注意不要忘了 header("Content-Type:text/xml") 哦</p></div></div></div></form><img src ="http://www.blogjava.net/sl2cj/aggbug/74208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-10-10 08:37 <a href="http://www.blogjava.net/sl2cj/articles/74208.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让getElementsByName适应IE和firefox</title><link>http://www.blogjava.net/sl2cj/articles/73732.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Sun, 08 Oct 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/73732.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/73732.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/73732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/73732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/73732.html</trackback:ping><description><![CDATA[
		<div class="title">让getElementsByName适应IE和firefox</div>
		<div class="postdate">Submitted by <a href="http://www.yemaol.com/blog/?action=showuser&amp;id=1">野马</a> on 2006-10-08 03:05:28. <a href="http://www.yemaol.com/blog/?cid=1&amp;cname=%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB">默认分类</a></div>
		<div class="content">w3c规范中getElementsByName是按着name属性进行检索的，而MS的IE却是按着id来检索。导致不能得到应该得到的Elements，为适应浏览器，我们可以做一下调整：<br />一、把需要用getElementsByName的name都加上id，且id和name相同。<br />二、用一个函数来适应浏览器，代码如下：<br /><table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td class="phpcode"><code><span style="COLOR: #000000"><span style="COLOR: #0000bb">getElementsByName</span><span style="COLOR: #007700">:function (</span><span style="COLOR: #0000bb">name</span><span style="COLOR: #007700">) {<br />              var </span><span style="COLOR: #0000bb">returns </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">document</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">getElementsByName</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">name</span><span style="COLOR: #007700">);<br />              if(</span><span style="COLOR: #0000bb">returns</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">length </span><span style="COLOR: #007700">&gt; </span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">) return </span><span style="COLOR: #0000bb">returns</span><span style="COLOR: #007700">;<br />              </span><span style="COLOR: #0000bb">returns </span><span style="COLOR: #007700">= new Array();<br />              var </span><span style="COLOR: #0000bb">e </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">document</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">getElementsByTagName</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">'td'</span><span style="COLOR: #007700">);<br />              for(</span><span style="COLOR: #0000bb">i </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">; </span><span style="COLOR: #0000bb">i </span><span style="COLOR: #007700">&lt; </span><span style="COLOR: #0000bb">e</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">length</span><span style="COLOR: #007700">; </span><span style="COLOR: #0000bb">i</span><span style="COLOR: #007700">++) {<br />                            if(</span><span style="COLOR: #0000bb">e</span><span style="COLOR: #007700">[</span><span style="COLOR: #0000bb">i</span><span style="COLOR: #007700">].</span><span style="COLOR: #0000bb">getAttribute</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">"name"</span><span style="COLOR: #007700">) == </span><span style="COLOR: #0000bb">name</span><span style="COLOR: #007700">) {<br />                                          </span><span style="COLOR: #0000bb">returns</span><span style="COLOR: #007700">[</span><span style="COLOR: #0000bb">returns</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">length</span><span style="COLOR: #007700">] = </span><span style="COLOR: #0000bb">e</span><span style="COLOR: #007700">[</span><span style="COLOR: #0000bb">i</span><span style="COLOR: #007700">];<br />                            }<br />              }<br />              return </span><span style="COLOR: #0000bb">returns</span><span style="COLOR: #007700">;<br />}</span><span style="COLOR: #0000bb"></span></span></code></td></tr></tbody></table></div>
<img src ="http://www.blogjava.net/sl2cj/aggbug/73732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-10-08 11:20 <a href="http://www.blogjava.net/sl2cj/articles/73732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 关于网页播放器。。</title><link>http://www.blogjava.net/sl2cj/articles/68588.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Fri, 08 Sep 2006 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/68588.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/68588.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/68588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/68588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/68588.html</trackback:ping><description><![CDATA[
		<font size="2">用js控制网页</font>
		<a onclick="tagshow(event, '%B2%A5%B7%C5%C6%F7');return false;" href="javascript:;">
				<u>
						<b>
								<font size="2">播放器</font>
						</b>
				</u>
		</a>
		<br />
		<font size="2">我整理的一些，不是很全。但应该够用了<br /><br />media player控制<br /><br />player.controls.play(); 播放<br />player.controls.stop(); 停止<br />player.controls.pause(); 暂停<br />player.controls.currentPosition 返回播放文件的当前时间位置（以秒为单位）<br />player.controls.currentPositionString 时间格式的字符串 "0:32"<br />player.currentMedia.duration 返回播放文件的总长度（以秒为单位）<br />player.currentMedia.durationString 时间格式的字符串 "4:34"<br />player.settings.volume 音量 （0-100）<br />player.settings.balance 声道，通过它应该可以进行立体声、左声道、右声道的</font>
		<a onclick="tagshow(event, '%BF%D8%D6%C6');return false;" href="javascript:;">
				<u>
						<b>
								<font size="2">控制</font>
						</b>
				</u>
		</a>
		<font size="2">。但对应的取值尚不清楚。<br />player.settings.mute = s 静音（s取值为true和false）<br />player.closedCaption.CaptioningID 网页中出现字幕的容器的ID<br />player.closedCaption.SAMIFileName 字幕文件地址<br />player.playState 返回播放器状态（ 3：正在播放，2：暂停1：已停止）<br /><br /><br /><strong>播放器代码。。</strong><br /><br />&lt;div id="aa" style="display:none"&gt;&lt;object id=nstv classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 width=280 height=60 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject&gt;<br />&lt;param name=URL value=e:\working\popo\record\video\01.mp3&gt;<br />&lt;PARAM NAME=UIMode value=full&gt;<br />&lt;PARAM NAME=AutoStart value=true&gt;<br />&lt;PARAM NAME=Enabled value=true&gt;<br />&lt;PARAM NAME=enableContextMenu value=false&gt;<br />&lt;/object&gt;<br />&lt;/div&gt;<br /><br /><strong>自己写的</strong><br />&lt;INPUT type="file" id="FileBtn" onChange="test(this.value);"&gt; <br />&lt;input type="button" onClick="stopBtn();" value="stop"&gt;<br />&lt;input type="button" onClick="playBtn();" value="play"&gt;<br />&lt;script language="javascript"&gt;<br />function test(str){<br /> nstv.URL=str<br /> alert(str);<br />}<br />//<br />function stopBtn() {<br /> nstv.controls.stop(); <br />}<br />//<br />function playBtn() {<br /> nstv.controls.play();<br />}<br />//<br />&lt;/script&gt;<br /></font>
<img src ="http://www.blogjava.net/sl2cj/aggbug/68588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-09-08 19:20 <a href="http://www.blogjava.net/sl2cj/articles/68588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>asp删除文件的函数（三个）</title><link>http://www.blogjava.net/sl2cj/articles/52987.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Thu, 15 Jun 2006 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/52987.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/52987.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/52987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/52987.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/52987.html</trackback:ping><description><![CDATA[
		<a href="http://www.aixq.com/read.php/89.htm">
				<strong>
						<font color="#287ed3" size="2">asp删除文件的函数（三个）</font>
				</strong>
		</a>
		<strong>
				<font color="#287ed3" size="2">
				</font>
		</strong>
		<div class="textbox-fontsize">
				<font size="2">
						<strong>
								<font color="#287ed3">
										<img title="字体大小" alt="" src="http://www.aixq.com/template/triblue/images/toolbar_fontsize.gif" border="0" />
								</font>
						</strong>
				</font>
				<a href="javascript: doZoom(16);">
						<font size="2">大</font>
				</a>
				<font size="2"> | </font>
				<a href="javascript: doZoom(14);">
						<font size="2">中</font>
				</a>
				<font size="2"> | </font>
				<a href="javascript: doZoom(12);">
						<font size="2">小</font>
				</a>
				<font size="2">
				</font>
				<a href="http://www.aixq.com/feed.php?go=entry_89">
						<font size="2">
								<img title="订阅本文" alt="" src="http://www.aixq.com/template/triblue/images/toolbar_rss.gif" border="0" />
						</font>
				</a>
				<font size="2">
				</font>
				<a href="http://www.aixq.com/read.php?save_89">
						<font size="2">
								<img title="保存本文为文本文档" alt="" src="http://www.aixq.com/template/triblue/images/toolbar_save.gif" border="0" />
						</font>
				</a>
				<font size="2">
				</font>
		</div>
		<div class="textbox-label">
				<font size="2">[<img title="不指定" alt="不指定" src="http://www.aixq.com/images/weather/blank.gif" /> 2006/04/14 01:06 | by </font>
				<a href="http://www.aixq.com/view.php?go=user_1" target="_blank">
						<font size="2">admin</font>
				</a>
				<font size="2"> ] </font>
		</div>
		<div class="textbox-content" id="zoomtext">
				<div class="code">
						<br />
						<br />
						<font size="2">&lt;% <br />''文件删除函数 <br />function deletefile(filename) <br />if filename&lt;&gt;"" then <br />set fso=server.CreateObject("scripting.filesystemobject") <br />if fso.FileExists(filename) then <br />fso.DeleteFile filename <br />else <br />Response.Write "&lt;script&gt;alert(''该文件不存在'');&lt;/script&gt;" <br />end if <br />end if <br />end function <br /><br />strfile=server.MapPath("fileName") <br />deletefile(strfile) <br />%&gt; <br /><br /><br /><br /><br /><br />'程序名：delfile.asp<br />'关键参数：struploadfiles 文件名称 <br />例：&lt;a href="/delfile.asp?action=test.rar"&gt;删除test.rar文件&lt;/a&gt;<br /><br />&lt;%<br />struploadfiles=trim(request.querystring("struploadfiles"))<br />action=trim(request.querystring("action"))<br />response.write "成功删除&lt;font color=red&gt;"&amp;struploadfiles&amp;"&lt;/font&gt;文件!"<br />call delfiles(struploadfiles &amp; "")<br />sub delfiles(struploadfiles)<br />if struploadfiles="" then exit sub<br />dim fso,arruploadfiles,i<br />set fso = createobject("scripting.filesystemobject")<br />fso.deletefile(server.mappath("" &amp; struploadfiles))<br />set fso = nothing<br />response.write"&lt;script language=javascript&gt;alert('成功删除文件,将返回上一页!');"<br />response.write"this.location.href='javascript:history.back();'&lt;/script&gt;"<br />end sub<br />%&gt; <br /><br /><br /><br /><br /><br />&lt;% <br />''文件删除函数 <br />function deletefile(filename) <br />if filename&lt;&gt;"" then <br />set fso=server.CreateObject("scripting.filesystemobject") <br />if fso.FileExists(filename) then <br />fso.DeleteFile filename <br />else <br />Response.Write "&lt;script&gt;alert(''该文件不存在'');&lt;/script&gt;" <br />end if <br />end if <br />end function <br /><br />strfile=server.MapPath("fileName") <br />deletefile(strfile) <br />%&gt; <br /><br /><font size="3">Function DeleFile(FilePath)<br />    On Error Resume Next<br />    Set Del=Server.CreateObject("Scripting.FileSystemObject")<br />    if Err &lt;&gt; 0 Then <br />        DelFile="该空间不支持FSO组件，无法删除文件！"<br />    else<br />        if InStr(FilePath, ",") &gt; 0 then<br />            FilePath=Split(FilePath,",")<br />            For i = 0 to ubound(FilePath)<br />                If Del.FileExists(Server.MapPath(FilePath))=True Then Del.DeleteFile Server.MapPath(FilePath(i)),true<br />            Next</font><br /><font size="3">       Else<br />            If Del.FileExists(Server.MapPath(FilePath))=True Then Del.DeleteFile Server.MapPath(FilePath),true<br />        End if<br />    End if<br />    Set Del=Nothing<br />End Function</font><br /><br /></font>
				</div>
		</div>
<img src ="http://www.blogjava.net/sl2cj/aggbug/52987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-15 14:10 <a href="http://www.blogjava.net/sl2cj/articles/52987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FileSystemObject处理文件 </title><link>http://www.blogjava.net/sl2cj/articles/52983.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Thu, 15 Jun 2006 06:05:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/52983.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/52983.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/52983.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/52983.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/52983.html</trackback:ping><description><![CDATA[
		<table class="m2" cellspacing="0" cellpadding="0" width="548" border="0">
				<tbody>
						<tr align="middle">
								<td width="548" colspan="2" height="28">
										<font size="2">
												<b class="m1">FileSystemObject处理文件 </b>
												<br />2003:9:26 ·来源：不详 karry </font>
								</td>
						</tr>
						<tr>
								<td class="m2" colspan="2">
										<br />
										<script language="JavaScript" src="http://www.6to23.com/ad/asp/ad_asp.js">
										</script>
										<font size="2">有两种主要的文件处理类型： <br /><br />创建、添加或删除数据，以及读取文件 <br />移动、复制和删除文件 <br />创建文件 <br />创建空文本文件（有时被叫做“文本流”）有三种方法。 <br />第一种方法是用 CreateTextFile 方法。 下面的示例示范了在 VBScript 中如何用这种方法来创建文本文件： <br /><br /><br />Dim fso, f1 <br />Set fso = CreateObject("Scripting.FileSystemObject") <br />Set f1 = fso.CreateTextFile("c:\testfile.txt", True) <br /><br />要在 JScript 中用这种方法，则使用下面的代码： <br /><br />var fso, f1; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br /><br />请考察示例代码，来领会如何在 FileSystemObject 中使用 CreateTextFile 方法。 <br />创建文本文件的第二种方法是，使用 FileSystemObject 对象的 OpenTextFile 方法，并设置 ForWriting 标志。在 VBScript 中，代码就像下面的示例一样： <br /><br />Dim fso, ts <br />Const ForWriting = 2 <br />Set fso = CreateObject("Scripting. FileSystemObject") <br />Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True) <br /><br />要在 JScript 中使用这种方法来创建文本文件，则使用下面的代码： <br /><br />var fso, ts; <br />var ForWriting= 2; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true); <br /><br />创建文本文件的第三种方法是，使用 OpenAsTextStream 方法，并设置 ForWriting 标志。要使用这种方法，在 VBScript 中使用下面的代码： <br /><br />Dim fso, f1, ts <br />Const ForWriting = 2 <br />Set fso = CreateObject("Scripting.FileSystemObject") <br />fso.CreateTextFile ("c:\test1.txt") <br />Set f1 = fso.GetFile("c:\test1.txt") <br />Set ts = f1.OpenAsTextStream(ForWriting, True) <br /><br />在 JScript 中，则使用下面示例中的代码： <br /><br />var fso, f1, ts; <br />var ForWriting = 2; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />fso.CreateTextFile ("c:\\test1.txt"); <br />f1 = fso.GetFile("c:\\test1.txt"); <br />ts = f1.OpenAsTextStream(ForWriting, true); <br /><br />添加数据到文件中 <br />一旦创建了文本文件，使用下面的三个步骤向文件添加数据： <br /><br />打开文本文件。 <br />写入数据。 <br />关闭文件。 <br />要打开现有的文件，则使用 FileSystemObject 对象的 OpenTextFile 方法或 File 对象的 OpenAsTextStream 方法。 <br />要写数据到打开的文本文件，则根据下表所述任务使用 TextStream 对象的 Write、WriteLine 或 WriteBlankLines 方法。 <br /><br />任务 方法 <br />向打开的文本文件写数据，不用后续一个新行字符。 Write <br />向打开的文本文件写数据，后续一个新行字符。 WriteLine <br />向打开的文本文件写一个或多个空白行。 WriteBlankLines <br /><br /><br />请考察示例代码，来领会如何在 FileSystemObject 对象中使用 Write、WriteLine 和 WriteBlankLines 方法。 <br /><br />要关闭一个打开的文件，则使用 TextStream 对象的 Close 方法。 <br /><br />请考察示例代码，来领会如何在 FileSystemObject 中使用 Close 方法。 <br /><br /><br />-------------------------------------------------------------------------------- <br /><br />注意 新行字符包含一个或几个字符（取决于操作系统），以把光标移动到下一行的开始位置（回车/换行）。注意某些字符串末尾可能已经有这个非打印字符了。 <br /><br />-------------------------------------------------------------------------------- <br /><br /><br />下面的 VBScript 例子示范了如何打开文件，和同时使用三种写方法来向文件添加数据，然后关闭文件： <br /><br /><br />Sub CreateFile() <br />Dim fso, tf <br />Set fso = CreateObject("Scripting.FileSystemObject") <br />Set tf = fso.CreateTextFile("c:\testfile.txt", True) <br />' 写一行，并且带有新行字符。 <br />tf.WriteLine("Testing 1, 2, 3.") <br />' 向文件写三个新行字符。 <br />tf.WriteBlankLines(3) <br />' 写一行。 <br />tf.Write ("This is a test.") <br />tf.Close <br />End Sub <br />这个示例示范了在 JScript 中如何使用这三个方法： <br /><br />function CreateFile() <br />{ <br />var fso, tf; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />tf = fso.CreateTextFile("c:\\testfile.txt", true); <br />// 写一行，并且带有新行字符。 <br />tf.WriteLine("Testing 1, 2, 3.") ; <br />// 向文件写三个新行字符。 <br />tf.WriteBlankLines(3) ; <br />// 写一行。 <br />tf.Write ("This is a test."); <br />tf.Close(); <br />} <br />读取文件 <br />要从文本文件读取数据，则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。 <br />任务 方法 <br />从文件读取指定数量的字符。 Read <br />读取一整行（一直到但不包括新行字符）。 ReadLine <br />读取文本文件的整个内容。 ReadAll <br /><br /><br />请考察示例代码，来领会如何在 FileSystemObject 中使用 ReadAll 和 ReadLine 方法。 <br /><br />如果使用 Read 或 ReadLine 方法，并且想跳过数据的特殊部分，则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中，该字符串可以显示在一个控件中，也可以用字符串函数（如 Left、Right 和 Mid）来分析，连接等等。 <br /><br />下面的 VBScript 示例示范了如何打开文件，和如何写数据到文件中并从文件读取数据： <br /><br /><br />Sub ReadFiles <br />Dim fso, f1, ts, s <br />Const ForReading = 1 <br />Set fso = CreateObject("Scripting.FileSystemObject") <br />Set f1 = fso.CreateTextFile("c:\testfile.txt", True) <br />' 写一行。 <br />Response.Write "Writing file <br />" <br />f1.WriteLine "Hello World" <br />f1.WriteBlankLines(1) <br />f1.Close <br />' 读取文件的内容。 <br />Response.Write "Reading file <br />" <br />Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading) <br />s = ts.ReadLine <br />Response.Write "File contents = '" &amp; s &amp; "'" <br />ts.Close <br />End Sub <br /><br />下面的代码示范了在 JScript 中做同样的事： <br /><br />function ReadFiles() <br />{ <br />var fso, f1, ts, s; <br />var ForReading = 1; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br />// 写一行。 <br />Response.Write("Writing file <br />"); <br />f1.WriteLine("Hello World"); <br />f1.WriteBlankLines(1); <br />f1.Close(); <br />// 读取文件的内容。 <br />Response.Write("Reading file <br />"); <br />ts = fso.OpenTextFile("c:\\testfile.txt", ForReading); <br />s = ts.ReadLine(); <br />Response.Write("File contents = '" + s + "'"); <br />ts.Close(); <br />} <br /><br />移动、复制和删除文件 <br />FSO 对象模式各有两种方法移动、复制和删除文件，如下表所述。 <br />任务 方法 <br />移动文件 File.Move 或 FileSystemObject.MoveFile <br />复制文件 File.Copy 或 FileSystemObject.CopyFile <br />删除文件 File.Delete 或 FileSystemObject.DeleteFile <br /><br /><br />请考察示例代码，来领会在 FileSystemObject 中删除文件的两种方法。 <br /><br />下面的 VBScript 示例，在驱动器 C 的根目录中创建一个文本文件，向其中写一些信息，然后把它移动到 \tmp 目录中，并在 \temp 中做一个备份，最后把它们从两个目录中删掉。 <br /><br />要运行下面的示例，需要先在驱动器 C 的根目录中创建 \tmp 和 \temp 目录： <br /><br /><br />Sub ManipFiles <br />Dim fso, f1, f2, s <br />Set fso = CreateObject("Scripting.FileSystemObject") <br />Set f1 = fso.CreateTextFile("c:\testfile.txt", True) <br />Response.Write "Writing file <br />" <br />' 写一行。 <br />f1.Write ("This is a test.") <br />' 关闭文件。 <br />f1.Close <br />Response.Write "Moving file to c:\tmp <br />" <br />' 获取 C 的根目录(C:\)中的文件的句柄。 <br />Set f2 = fso.GetFile("c:\testfile.txt") <br />' 把文件移动到 \tmp 目录。 <br />f2.Move ("c:\tmp\testfile.txt") <br />Response.Write "Copying file to c:\temp <br />" <br />' 把文件复制到 \temp 目录。 <br />f2.Copy ("c:\temp\testfile.txt") <br />Response.Write "Deleting files <br />" <br />' 获得文件当前位置的句柄。 <br />Set f2 = fso.GetFile("c:\tmp\testfile.txt") <br />Set f3 = fso.GetFile("c:\temp\testfile.txt") <br />' 删除文件。 <br />f2.Delete <br />f3.Delete <br />Response.Write "All done!" <br />End Sub <br /><br />下面的代码示范了在 JScript 中做同样的事： <br /><br />function ManipFiles() <br />{ <br />var fso, f1, f2, s; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br />Response.Write("Writing file <br />"); <br />// 写一行。 <br />f1.Write("This is a test."); <br />// 关闭文件。 <br />f1.Close(); <br />Response.Write("Moving file to c:\\tmp <br />"); <br />// 获取 C 的根目录(C:\)中的文件的句柄。 <br />f2 = fso.GetFile("c:\\testfile.txt"); <br />// 把文件移动到 \tmp 目录。 <br />f2.Move ("c:\\tmp\\testfile.txt"); <br />Response.Write("Copying file to c:\\temp <br />"); <br />// 把文件复制到 \temp 目录。 <br />f2.Copy ("c:\\temp\\testfile.txt"); <br />Response.Write("Deleting files <br />"); <br />// 获得文件当前位置的句柄。 <br />f2 = fso.GetFile("c:\\tmp\\testfile.txt"); <br />f3 = fso.GetFile("c:\\temp\\testfile.txt"); <br />// 删除文件。 <br />f2.Delete(); <br />f3.Delete(); <br />Response.Write("All done!"); <br />} <br /></font>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/sl2cj/aggbug/52983.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-15 14:05 <a href="http://www.blogjava.net/sl2cj/articles/52983.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无组件ASP文件上传源代码 经本人测试通过............ [转]</title><link>http://www.blogjava.net/sl2cj/articles/52480.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Tue, 13 Jun 2006 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/52480.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/52480.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/52480.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/52480.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/52480.html</trackback:ping><description><![CDATA[
		<table class="td015" cellspacing="0" cellpadding="4" width="90" align="right" background="images/pet/petbg00.gif" border="0">
				<tbody>
						<tr>
								<td>
										<div align="center">
												<font size="2">
												</font> </div>
								</td>
						</tr>
				</tbody>
		</table>
		<font size="2">
				<img src="http://bbs.jz173.com/images/bbsface/face1.gif" />
				<font class="Font_px14_2">无组件ASP文件上传源代码 经本人测试通过............</font>
				<br />
				<br />
		</font>
		<font size="2">
				<font class="Font_px14">无组件ASP文件上传源代码<br /><br />动网论坛的无组件上传， <br />以下是从动网论坛分离出来的代码。 <br /><br />如有更好用的请告诉作者 <br />网名：网海求生者 <br />QQ：54883661 <br />mail:wuyingke5155@163.com <br /><br />saveannounce_upload.asp 上传页 <br />------------------------------------ <br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;style type="text/css"&gt; <br />body {font-size:9pt;} <br />input {font-size:9pt;} <br />&lt;/style&gt; <br />&lt;title&gt;文件上传&lt;/title&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;form name="form" method="post" action="saveannouce_upfile.asp" enctype="multipart/form-data" &gt; <br />文件 <br />&lt;input type="file" name="file1" size=10&gt; <br />&lt;input type="submit" name="Submit" value="上传"&gt; <br />&lt;/form&gt; <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><br />------------------------------------ <br />saveannouce_upfile.asp 保存文件到服务器 <br />------------------------------------ <br />&lt;!--#include FILE="upload.inc"--&gt; <br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;title&gt;文件上传&lt;/title&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;% <br />dim upload,file,formName,formPath <br />set upload=new upload_5xSoft ''''建立上传对象 <br />formPath=upload.form("filepath") ''''在目录后加(/) <br />if right(formPath,1)&lt;&gt;"/" then formPath=formPath&amp;"/" <br />for each formName in upload.file ''''列出所有上传了的文件 <br />set file=upload.file(formName) ''''生成一个文件对象 <br />if file.filesize&lt;100 then <br />response.write "&lt;font size=2&gt;请先选择你要上传的文件　[ &lt;a href=# onclick=history.go(-1)&gt;重新上传&lt;/a&gt; ]&lt;/font&gt;" <br />response.end <br />end if <br />if file.filesize&gt;500*1000 then ''设置上传文件大小为500K <br />response.write "&lt;font size=2&gt;文件大小超过了限制 500K　[ &lt;a href=# onclick=history.go(-1)&gt;重新上传&lt;/a&gt; ]&lt;/font&gt;" <br />response.end <br />end if <br />if file.FileSize&gt;0 then ''''如果 FileSize &gt; 0 说明有文件数据 <br />file.SaveAs Server.mappath("updata\"&amp;file.FileName) ''''保存文件 <br />end if <br />set file=nothing <br />next <br />set upload=nothing <br />response.write "&lt;font size=2&gt;文件上传成功 [ &lt;a href=# onclick=history.go(-1)&gt;继续上传&lt;/a&gt; ]&lt;/font&gt;" <br />%&gt; <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><br />未完接下</font>
				<br />
				<br />接上<br /><br />------------------------------------ <br />upload.inc 建立upload对象 <br />------------------------------------ <br />&lt;SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT&gt; <br /><br />dim upfile_5xSoft_Stream <br /><br />Class upload_5xSoft <br /><br />dim Form,File,Version <br /><br />Private Sub Class_Initialize <br />dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile <br />dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr <br />Version="" <br />if Request.TotalBytes&lt;1 then Exit Sub <br />set Form=CreateObject("Scripting.Dictionary") <br />set File=CreateObject("Scripting.Dictionary") <br />set upfile_5xSoft_Stream=CreateObject("Adodb.Stream") <br />upfile_5xSoft_Stream.mode=3 <br />upfile_5xSoft_Stream.type=1 <br />upfile_5xSoft_Stream.open <br />upfile_5xSoft_Stream.write Request.BinaryRead(Request.TotalBytes) <br /><br />vbEnter=Chr(13)&amp;Chr(10) <br />iDivLen=inString(1,vbEnter)+1 <br />strDiv=subString(1,iDivLen) <br />iFormStart=iDivLen <br />iFormEnd=inString(iformStart,strDiv)-1 <br />while iFormStart &lt; iFormEnd <br />iStart=inString(iFormStart,"name=""") <br />iEnd=inString(iStart+6,"""") <br />mFormName=subString(iStart+6,iEnd-iStart-6) <br />iFileNameStart=inString(iEnd+1,"filename=""") <br />if iFileNameStart&gt;0 and iFileNameStart&lt;iFormEnd then <br />iFileNameEnd=inString(iFileNameStart+10,"""") <br />mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10) <br />iStart=inString(iFileNameEnd+1,vbEnter&amp;vbEnter) <br />iEnd=inString(iStart+4,vbEnter&amp;strDiv) <br />if iEnd&gt;iStart then <br />mFileSize=iEnd-iStart-4 <br />else <br />mFileSize=0 <br />end if <br />set theFile=new FileInfo <br />theFile.FileName=getFileName(mFileName) <br />theFile.FilePath=getFilePath(mFileName) <br />theFile.FileSize=mFileSize <br />theFile.FileStart=iStart+4 <br />theFile.FormName=FormName <br />file.add mFormName,theFile <br />else <br />iStart=inString(iEnd+1,vbEnter&amp;vbEnter) <br />iEnd=inString(iStart+4,vbEnter&amp;strDiv) <br /><br />if iEnd&gt;iStart then <br />mFormValue=subString(iStart+4,iEnd-iStart-4) <br />else <br />mFormValue="" <br />end if <br />form.Add mFormName,mFormValue <br />end if <br /><br />iFormStart=iformEnd+iDivLen <br />iFormEnd=inString(iformStart,strDiv)-1 <br />wend <br />End Sub <br /><br />Private Function subString(theStart,theLen) <br />dim i,c,stemp <br />upfile_5xSoft_Stream.Position=theStart-1 <br />stemp="" <br />for i=1 to theLen <br />if upfile_5xSoft_Stream.EOS then Exit for <br />c=ascB(upfile_5xSoft_Stream.Read(1)) <br />If c &gt; 127 Then <br />if upfile_5xSoft_Stream.EOS then Exit for <br />stemp=stemp&amp;Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&amp;ChrB(c))) <br />i=i+1 <br />else <br />stemp=stemp&amp;Chr(c) <br />End If <br />Next <br />subString=stemp <br />End function <br /><br />Private Function inString(theStart,varStr) <br />dim i,j,bt,theLen,str <br />InString=0 <br />Str=toByte(varStr) <br />theLen=LenB(Str) <br />for i=theStart to upfile_5xSoft_Stream.Size-theLen <br />if i&gt;upfile_5xSoft_Stream.size then exit Function <br />upfile_5xSoft_Stream.Position=i-1 <br />if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) then <br />InString=i <br />for j=2 to theLen <br />if upfile_5xSoft_Stream.EOS then <br />inString=0 <br />Exit for <br />end if <br />if AscB(upfile_5xSoft_Stream.Read(1))&lt;&gt;AscB(MidB(Str,j,1)) then <br />InString=0 <br />Exit For <br />end if <br />next <br />if InString&lt;&gt;0 then Exit Function <br />end if <br />next <br />End Function <br /><br />Private Sub Class_Terminate <br />form.RemoveAll <br />file.RemoveAll <br />set form=nothing <br />set file=nothing <br />upfile_5xSoft_Stream.close <br />set upfile_5xSoft_Stream=nothing <br />End Sub <br /><br /><br />Private function GetFilePath(FullPath) <br />If FullPath &lt;&gt; "" Then <br />GetFilePath = left(FullPath,InStrRev(FullPath, "\")) <br />Else <br />GetFilePath = "" <br />End If <br />End function <br /><br />Private function GetFileName(FullPath) <br />If FullPath &lt;&gt; "" Then <br />GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1) <br />Else <br />GetFileName = "" <br />End If <br />End function <br /><br />Private function toByte(Str) <br />dim i,iCode,c,iLow,iHigh <br />toByte="" <br />For i=1 To Len(Str) <br />c=mid(Str,i,1) <br />iCode =Asc(c) <br />If iCode&lt;0 Then iCode = iCode + 65535 <br />If iCode&gt;255 Then <br />iLow = Left(Hex(Asc(c)),2) <br />iHigh =Right(Hex(Asc(c)),2) <br />toByte = toByte &amp; chrB("&amp;H"&amp;iLow) &amp; chrB("&amp;H"&amp;iHigh) <br />Else <br />toByte = toByte &amp; chrB(AscB(c)) <br />End If <br />Next <br />End function <br />End Class <br /><br /><br />Class FileInfo <br />dim FormName,FileName,FilePath,FileSize,FileStart <br />Private Sub Class_Initialize <br />FileName = "" <br />FilePath = "" <br />FileSize = 0 <br />FileStart= 0 <br />FormName = "" <br />End Sub <br /><br />Public function SaveAs(FullPath) <br />dim dr,ErrorChar,i <br />SaveAs=1 <br />if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function <br />if FileStart=0 or right(fullpath,1)="/" then exit function <br />set dr=CreateObject("Adodb.Stream") <br />dr.Mode=3 <br />dr.Type=1 <br />dr.Open <br />upfile_5xSoft_Stream.position=FileStart-1 <br />upfile_5xSoft_Stream.copyto dr,FileSize <br />dr.SaveToFile FullPath,2 <br />dr.Close <br />set dr=nothing <br />SaveAs=0 <br />end function <br />End Class <br />&lt;/SCRIPT&gt; <br /><br />完.....................<br /></font>
<img src ="http://www.blogjava.net/sl2cj/aggbug/52480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-13 15:27 <a href="http://www.blogjava.net/sl2cj/articles/52480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP操作XML文件的完整实例</title><link>http://www.blogjava.net/sl2cj/articles/52128.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Mon, 12 Jun 2006 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/52128.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/52128.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/52128.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/52128.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/52128.html</trackback:ping><description><![CDATA[
		<div id="art_title">
				<font size="2">ASP操作XML文件的完整实例</font>
		</div>
		<div class="d2">
				<span class="d2_r">
						<font size="2">【</font>
						<a href="javascript:doZoom(16,19)">
								<font size="2">大</font>
						</a>
						<font size="2">
						</font>
						<a href="javascript:doZoom(14,17)">
								<font size="2">中</font>
						</a>
						<font size="2">
						</font>
						<a href="javascript:doZoom(12,15)">
								<font size="2">小</font>
						</a>
						<font size="2">】【</font>
						<a href="http://www.7880.com/Print.php?PID=63ca43c0">
								<font size="2">打印</font>
						</a>
						<font size="2">】【</font>
						<a href="http://www.7880.com/Favorite.php?Go=Info::31e521e0">
								<font size="2">加入收藏</font>
						</a>
						<font size="2">】【</font>
						<a href="javascript:window.close()">
								<font size="2">关闭</font>
						</a>
						<font size="2">】</font>
				</span>
				<font size="2"> 【</font>
				<a title="收藏的网页将被永久地保存到新浪ViVi收藏夹http://vivi.sina.com.cn" href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(vivi=window.open('http://vivi.sina.com.cn/collect/icollect.php?pid=2008&amp;title='+escape(d.title)+'&amp;url='+escape(d.location.href)+'&amp;desc='+escape(t),'vivi','scrollbars=no,width=480,height=480,left=75,top=20,status=no,resizable=yes'));vivi.focus();">
						<font size="2">收藏到新浪ViVi</font>
				</a>
				<font size="2">】【</font>
				<a title="功能强大的网络收藏夹，一秒钟操作就可以轻松实现保存带来的价值、分享带来的快乐" href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();">
						<font size="2">收藏到365KEY</font>
				</a>
				<font size="2">】 浏览字号:</font>
		</div>
		<div class="d3">
				<font size="2">日期：2004-09-30 人气：
<script language="javascript" src="../Read.php?ID=31e521e0"></script>
 出处： <br /></font>
				<iframe marginwidth="0" marginheight="0" src="../Js/Google.html" frameborder="0" width="468" scrolling="no" height="60">
				</iframe>
		</div>
		<div id="content">
				<p>
						<font size="2">&lt;% <br />'---------------------------------------------------------------- <br />'程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看 <br />'入口参数: 无 <br />'出口参数: 无 <br />'------------------------------------------------ <br />'函数名字：ConnectXml() <br />'入口参数: filename 需要连接或打开的xml文件名 <br />'出口参数: 无 <br />'返回值 ：ConnectXml=0，XMLMorntekDocument就是一个成功装载XML文档的对象了。 <br />' ConnectXml&lt;&gt;0,则打印错误信息strError <br />'------------------------------------------------ <br />dim XMLMorntekDocument </font>
				</p>
				<p>
						<font size="2">function ConnectXml(filename) <br />dim strSourceFile <br />strSourceFile = Server.MapPath(filename) <br />Set XMLMorntekDocument = Server.CreateObject("Microsoft.XMLDOM")  <br />XMLMorntekDocument.async = false  <br />XMLMorntekDocument.load(strSourceFile) <br />ConnectXml=XMLMorntekDocument.parseerror.errorcode <br />if XMLMorntekDocument.parseerror.errorcode&lt;&gt;0 then <br />strError="&lt;h2&gt;error"&amp;XMLMorntekDocument.parseerror.errorcode&amp;"&lt;/h2&gt;" <br />strError=strError&amp;XMLMorntekDocument.parseerror.reason&amp;"&lt;br&gt;" <br />strError=strError&amp;XMLMorntekDocument.parseerror.url&amp;"&lt;br&gt;" <br />strError=strError&amp;XMLMorntekDocument.parseerror.line&amp;"&lt;br&gt;" <br />strError=strError&amp;XMLMorntekDocument.parseerror.filepos&amp;"&lt;br&gt;" <br />strError=strError&amp;XMLMorntekDocument.parseerror.srcText&amp;"&lt;br&gt;" <br />response.write strError <br />end if <br />end function </font>
				</p>
				<p>
						<font size="2">'------------------------------------------------ <br />'函数名字：CloseXml() <br />'入口参数: 无 <br />'出口参数: 无 <br />'------------------------------------------------ <br />function CloseXml(XMLMorntekDocument) <br />if IsObject(XMLMorntekDocument) then <br />set XMLMorntekDocument=nothing <br />end if <br />end function </font>
				</p>
				<p>
						<br />
						<font size="2">'------------------------------------------------ <br />'函数名字：SelectXmlNodeText(elementname) <br />'入口参数: elementname 元素的名字 <br />'出口参数: 无 <br />'------------------------------------------------ <br />function SelectXmlNodeText(elementname)  <br />    elementname="//"&amp;elementname <br />    temp=XMLMorntekDocument.selectSingleNode(elementname).text <br />    selectXmlNodeText= server.htmlencode(temp)  </font>
				</p>
				<p>
						<font size="2">end function  </font>
				</p>
				<p>
						<font size="2">'------------------------------------------------ <br />'函数名字：InsertXmlNodeText(befelementname,elementname,elementtext) <br />'入口参数: elementname 插入的元素的名字 <br />'          befelementname在此元素的名字前面插入元素 <br />'          elementtext 插入的元素的文本 <br />'出口参数: 无 <br />'------------------------------------------------ <br />function InsertXmlNodeText(befelementname,elementname,elementtext)  <br />dim befelement,element <br />set befelement=XMLMorntekDocument.selectSingleNode("//"&amp;befelementname) <br />set element= XMLMorntekDocument.createelement(elementname) <br />befelement.insertBefore element,befelement.firstchild <br />element.text=elementtext <br />end function  </font>
				</p>
				<p>
						<font size="2">'------------------------------------------------ <br />'函数名字：UpdateXmlNodeText(elementname,newelementtext) <br />'入口参数: elementname 元素的名字 <br />'          newelementtext元素的新文本 <br />'出口参数: 无 <br />'------------------------------------------------ <br />function UpdateXmlNodeText(elementname,newelementtext)  <br />dim element <br />set element=XMLMorntekDocument.selectSingleNode("//"&amp;elementname) <br />element.text=newelementtext <br />end function  </font>
				</p>
				<p>
						<font size="2">'------------------------------------------------ <br />'函数名字：DeleteXmlNodeText(elementname) <br />'入口参数: elementname 元素的名字 <br />'出口参数: 无 <br />'------------------------------------------------ <br />function DeleteXmlNodeText(elementname)  <br />XMLMorntekDocument.selectSingleNode("//"&amp;elementname).text ="" <br />end function  <br />%&gt;</font>
				</p>
		</div>
<img src ="http://www.blogjava.net/sl2cj/aggbug/52128.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-12 10:07 <a href="http://www.blogjava.net/sl2cj/articles/52128.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP操作XML数据</title><link>http://www.blogjava.net/sl2cj/articles/52125.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Mon, 12 Jun 2006 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/52125.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/52125.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/52125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/52125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/52125.html</trackback:ping><description><![CDATA[
		<font size="2">*****************************<br />** ASP操作XML数据<br />** Author:caca<br />** qq:154222225<br />** Mail:root@3ney.com<br />** 2003.11.21@zzu<br />****************************** <br /><br />NO.1--建立一个XML数据库data.xml<br />&lt;?xml version="1.0"?&gt;<br />&lt;records&gt;<br />&lt;record&gt;<br />&lt;name&gt;caca&lt;/name&gt;<br />&lt;qq&gt;154222225&lt;/qq&gt;<br />&lt;email&gt;root@3ney.com&lt;/email&gt;<br />&lt;/record&gt;<br />&lt;records&gt;<br />NO.2--建立对象CreateObject<br />建立data.xml的对象先<br />set xmldoc=server.createobjcet("microsoft.xmldom")<br />xmldoc.load(server.mappath("data.xml")<br /><br />NO.3--选定节点SelectNode<br />你想操作哪个Node,必须定位到这个节点是不是,先看看这个data.xml有几个Node??<br />用一个递归函数搞定:<br />getnodes(xmldoc)<br /><br />sub getnodes(node)<br />dim i<br />response.write("&lt;br&gt;NodeName:"&amp;node.nodename&amp;"&lt;br&gt;NodeTypeString:"&amp;node.nodetypestring&amp;"&lt;br&gt;NodeValue:"&amp;node.nodevalue&amp;"&lt;br&gt;Text:"&amp;node.text&amp;"&lt;br&gt;node.childnodes.length:"&amp;node.childnodes.length&amp;"&lt;p&gt;")<br /><br />if node.childnodes.length&lt;&gt;0 then<br />for i=0 to node.childnodes.length-1<br />getnodes(node.childnodes(i))<br />next<br />end if<br />end sub<br />用这个函数后,可以看到这个data.xml有10个Node<br />这些Node可以很简单的定位:<br />xmldoc<br />xmldoc.childnodes(0)<br />xmldoc.childnodes(1)<br />xmldoc.childnodes(1).childnodes(0)<br />xmldoc.childnodes(1).childnodes(0).childnodes(0)<br />xmldoc.childnodes(1).childnodes(0).childnodes(0).text<br />xmldoc.childnodes(1).childnodes(0).childnodes(1)<br />xmldoc.childnodes(1).childnodes(0).childnodes(1).text<br />xmldoc.childnodes(1).childnodes(0).childnodes(2)<br />xmldoc.childnodes(1).childnodes(0).childnodes(2).text<br />是不是定位很简单呀,还有个方法,比如定位&lt;name&gt;<br />xmldoc.selectsinglenode("//name")<br /><br />NO.4--给节点赋值(修改节点的值)<br />学会了定位节点,利用其属性,就可以修改或者赋值了<br />例如,把&lt;name&gt;的值caca改为wawa<br />xmldoc.selectsinglenode("//name").text="wawa"<br />xmldoc.save(server.mappath("data.xml"))<br />搞定!<br />NO.5--创建新的节点CreatenewNode<br />用createelement或者createnode("","","")<br />例如:在record下新建个&lt;age&gt;,只需要一句就搞定:<br />xmldoc.selectsinglenode("//record").appendchild(xmldoc.createelement("&lt;age&gt;"))<br />给&lt;age&gt;赋值<br />xmldoc.selectsinglenode("//age").text="20"<br />xmldoc.save(server.mappath("data.xml"))<br />搞定!<br />NO.6--删除一个节点DeleteNode<br />你必须明确你想删除的这个节点的父节点,以及这个节点的特征<br />例如:删除&lt;qq&gt;节点<br />xmldoc.selectsinglenode("//record").removechild(xmldoc.selectsinglenode("//qq"))<br />例如:删除那个&lt;name&gt;=caca的&lt;record&gt;<br />xmldoc.selectsinglenode("//records").removechild(xmldoc.selectsinglenode("//record[name='caca']))<br />xmldoc.save(server.mappath("data.xml"))<br />搞定!<br />只有能熟练这6条code,用asp控制xml数据库,也就差不多了...<br />等两天写个XML留言本子来也不是很复杂的(以前用vbs写的,可以查询,可以到</font>
		<a href="http://www2.zzu.edu.cn/ie/dvbbs" target="_blank">
				<font size="2">http://www2.zzu.edu.cn/ie/dvbbs</font>
		</a>
		<font size="2">看看).</font>
<img src ="http://www.blogjava.net/sl2cj/aggbug/52125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-12 10:05 <a href="http://www.blogjava.net/sl2cj/articles/52125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>　用FSO操作 xml  </title><link>http://www.blogjava.net/sl2cj/articles/51878.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Sat, 10 Jun 2006 11:34:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/51878.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/51878.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/51878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/51878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/51878.html</trackback:ping><description><![CDATA[
		<table class="pageSubject" cellspacing="6" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="content">
										<strong>
												<font size="2">　用FSO操作 xml </font>
										</strong>
								</td>
						</tr>
				</tbody>
		</table>
		<table class="docParameter" cellspacing="6" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<p>
												<font size="2">作者：</font>
												<a href="http://www.blueidea.com/common/contact.asp?type=作者&amp;username=colordancer" target="_blank">
														<font size="2">colordancer</font>
												</a>
												<font size="2">　时间： 2006-04-07　文档类型：原创　来自：</font>
												<a href="http://www.blueidea.com/">
														<font size="2">蓝色理想</font>
												</a>
												<font size="2">
														<br />浏览统计 total:4346 | year:4346 | Quarter:4346 | Month:118 | Week:78 | today:5</font>
										</p>
										<p class="list">
												<font size="2">
												</font>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<table class="border" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<font size="2">
												<img height="6" src="http://www.blueidea.com/img/spacer.gif" width="6" />
										</font>
								</td>
						</tr>
				</tbody>
		</table>
		<table class="pageLighter" cellspacing="11" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="content">
										<p>
												<font size="2">试了一下，xmlDoc.save()行不同，就试着用fso做了出来。<br />整理一下，供大家discuss。</font>
										</p>
										<p>
												<font size="2">由于用js操作本地xml文件之后save时会permission denied，所以据我所知就只能通过FSO来做。而用FSO，基本上就与文件是否是xml无关。</font>
										</p>
										<p>
												<strong>
														<font size="2">xml文件：</font>
												</strong>
										</p>
										<p>
												<span class="code">
														<font size="2">&lt;root&gt;<br />  &lt;parent&gt;<br />    &lt;child1&gt;one&lt;/child1&gt;<br />    &lt;child2&gt;one&lt;/child2&gt;<br />  &lt;/parent&gt;<br />  &lt;parent&gt;<br />    &lt;child1&gt;two&lt;/child1&gt;<br />    &lt;child2&gt;two&lt;/child2&gt;<br />  &lt;/parent&gt;<br />  &lt;parent&gt;<br />    ...<br />  &lt;/parent&gt;<br />&lt;/root&gt;</font>
												</span>
										</p>
										<p>
												<font size="2">
												</font>
												<span class="code">
												</span>
										</p>
										<p>
												<font size="2">var temp;//要操作的数据</font>
										</p>
										<p>
												<font size="2">//添加节点<br />function add(root,parent,child1,child2){<br /> try{<br />  var fso = new ActiveXObject("Scripting.FileSystemObject");<br />  var fileOpen = fso.OpenTextFile("*.xml",1); <br />  var fileContent = fileOpen.ReadAll();<br />  fileOpen.close();</font>
										</p>
										<p>
												<font size="2">  if(fileContent.toString().indexOf(temp) !=-1){<br />   alert(temp+"was already in data.");<br />  }else{<br />   fileContent = fileContent.replace("&lt;/"+root+"&gt;","");<br />   fileContent += "&lt;"+parent+"&gt;&lt;"+child1+"&gt;";<br />   fileContent += ...;<br />   fileContent += "&lt;/"+child1+"&gt;&lt;"+child2+"&gt;";<br />   fileContent += ...;<br />   fileContent += "&lt;/"+child2+"&gt;&lt;/"+parent+"&gt;&lt;/"+root+"&gt;";<br />   var fileWrite = fso.OpenTextFile("*.xml",2)<br />   fileWrite.write(fileContent);<br />   fileWrite.close();<br />   alert("add successfully!")<br />  }<br /> }catch(e){<br />  alert("fail to add.");<br /> }<br />}</font>
										</p>
										<p>
												<br />
												<font size="2">//删除节点<br />function del(root,parent,child1,child2){<br /> try{<br />  if( confirm("are you sure to delete symbol:"+temp+"?" ) ){<br />   var fso = new ActiveXObject("Scripting.FileSystemObject");<br />   var fileOpen = fso.OpenTextFile("*.xml",1); <br />   var fileContent = fileOpen.ReadAll();<br />   fileOpen.close();<br />   <br />   var parentArr = fileContent.split("&lt;/"+parent+"&gt;");<br />   var symbolPos = -2;//不一定是2，只要&lt;0即可<br />   for (var i=0; i&lt;parentArr.length-1; i++){<br />    if(parentArr[i].indexOf(temp) != -1){<br />    symbolPos = i;<br />    continue;<br />    }<br />    parentArr[i] += "&lt;/"+parent+"&gt;"; <br />   }<br />   if (symbolPos == -2){<br />    alert(temp+" not found in data.")<br />   }else{<br />    if(symbolPos == 0){<br />     parentArr[0] = "&lt;"+root+"&gt;";<br />    }else{<br />     parentArr.splice(symbolPos,1);<br />    }<br />    fileContent = parentArr.toString().replace(/,/g,"")<br />    var fileWrite = fso.OpenTextFile("*.xml",2);<br />    fileWrite.write(fileContent);<br />    fileWrite.close();<br />    alert("deleted successfully!");<br />   }<br />  }<br /> }catch(e){<br />  alert("fail to delete.");<br /> }</font>
										</p>
										<p>
												<font size="2">
												</font>
										</p>
										<p>
												<strong>
														<font size="2">基本思路：</font>
												</strong>
										</p>
										<p>
												<font size="2">
														<strong>添加节点</strong>
														<br />1：读入原先xml文件所有字符，保存为fileContent;<br />2：去除根结点的封闭节点，即&lt;/root&gt;;<br />3：fileContent += &lt;parent&gt;&lt;child1&gt;..&lt;/child1&gt;&lt;child2&gt;...&lt;/child2&gt;&lt;/parent&gt;;<br />4：fileContent += &lt;/root&gt;;<br />5：写入xml文件，关闭。<br />基本上就是用手动输入来代替xml的CreateNode。</font>
										</p>
										<p>
												<font size="2">
														<strong>删除节点<br /></strong>
														<strong>1：</strong>读入原先xml文件所有字符，保存为fileContent;<br /><strong>2：</strong>以parent来分割fileContent，保存为parentArr[];<br /><strong>3：</strong>循环搜索parentArr[i]，利用indexOf(parentArr[i])来判断要 删除的节点里的内容 是否出现在parentArr[i];如果没有找到，则parentArr[i] += parent用来补上split时丢失的parent；如果找到了，则不用 += parent, 并且记录i的值;<br /><strong>4：</strong>parentArr.splice(i,1)，删去节点；<br /><strong>5：</strong>parentArr.toString().replace(/,/g,"")，用来去除逗号;<br /><strong>6：</strong>写入xml文件，关闭。</font>
										</p>
										<p>
												<font size="2">
														<font color="#ff0000">
																<strong>注意：</strong>
														</font>要注意split带来的节点不易匹配的问题，所以 parentArr[i] += parent 时要小心。 当然split不一定按parent，哪个节点清晰就按哪个split。</font>
										</p>
										<p>
												<font size="2">看起来好像js操作本地文件没什么意义，呵呵，不过由于看到好像没有多少人用fso操作xml过，所以就试下，换换思路，平时fso用得也很少。欢迎批评指正~:D</font>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/sl2cj/aggbug/51878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-10 19:34 <a href="http://www.blogjava.net/sl2cj/articles/51878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关键词：Windows IIS下配置支持PHP+MYSQL</title><link>http://www.blogjava.net/sl2cj/articles/51512.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Thu, 08 Jun 2006 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/51512.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/51512.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/51512.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/51512.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/51512.html</trackback:ping><description><![CDATA[关键词：<b>Windows IIS下配置支持PHP+MYSQL</b><br />Apache下支持PHP的配置方法比较简单，这里就不写了<br /><br /><font color="blue">一、软件准备：以下均为截止2005-4-20的最新正式版本</font><br />PHP（5.0.4）：<a href="http://cn.php.net/get/php-5.0.4-Win32.zip/from/a/mirror" target="_blank"><font color="#003366">http://cn.php.net/get/php-5.0.4-Win32.zip/from/a/mirror</font></a><br /><br />MySQL（4.1.11）：<a href="http://www.skycn.com/soft/1262.html" target="_blank"><font color="#003366">http://www.skycn.com/soft/1262.html</font></a><br /><br /><a href="http://dev.mysql.com/downloads/mysql/4.1.html" target="_blank"><font color="#003366">http://dev.mysql.com/downloads/mysql/4.1.html</font></a><br /><br />Zend Optimizer（2.5.7）：<a href="http://www.zend.com/store/free_download.php?pid=13" target="_blank"><font color="#003366">http://www.zend.com/store/free_download.php?pid=13</font></a><br /><br />phpMyAdmin（2.6.2）：<a href="http://www.skycn.com/soft/10687.html" target="_blank"><font color="#003366">http://www.skycn.com/soft/10687.html</font></a><br />http://www.crsky.com/SoftView/SoftView_4190.html<br /><br />假设 C:\ 为你现在所使用操作系统的系统盘，如果你目前操作系统不是安装在 C:\ ，请自行修改。<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021628907.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021628907.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br /><font color="blue">二、安装 PHP ：</font><br /><br />（1）、下载后得到 php-5.0.4-Win32.zip ，解压至C:\Inetpub\php（这个路径可以随意，不过下面要是用到这个路径，请相应修改）；<br /><br />（2）、再将C:\Inetpub\php目录下的所有dll文件（主要是C:\Inetpub\php下C:\Inetpub\php\ext下的DLL文件）拷到c:\Windows\system32下，覆盖已有的dll文件；<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021632734.gif');}" alt="" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021632734.gif" width="716" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" resized="true" pop="Click here to open new window&#xA;CTRL+Mouse wheel to zoom in/out" /><br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021634616.gif');}" alt="" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021634616.gif" width="716" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" resized="true" pop="Click here to open new window&#xA;CTRL+Mouse wheel to zoom in/out" /><br />（3）、将C:\PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows （ Windows 2000 下为 C:\WINNT）下； 将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开，利用记事本的查找功能搜索<br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"> </td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code0" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">register_globals = Off</td></tr></tbody></table></td></tr></tbody></table></center><br />，将 Off 改成 On ；<br />再搜索<br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code1" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">extension_dir =</td></tr></tbody></table></td></tr></tbody></table></center><br />，并将其路径指到你的 PHP 目录下的 extensions 目录，比如：extension_dir = "C:\Inetpub\php\ext" ；<br />搜索找到<br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code2" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;Windows Extensions</td></tr></tbody></table></td></tr></tbody></table></center><br />将下面列举的<br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code3" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_dbase.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="yellow">可选</font><br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code4" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_gd2.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="red">这个是用来支持GD库的，一般需要，必选</font><br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt">  </td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code5" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_ldap.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="yellow">可选</font><br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"><b></b></td><td align="right"><font color="#003366"></font></td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code6" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_mbstring.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="red">这不选一般用PHPMYADMIN会出红色提示，故必选</font><br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right">  </td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code7" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_mssql.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="yellow">这个是用来支持MSSQL的，可选</font><br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt"></td><td align="right">  </td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code8" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">;extension=php_mysql.dll</td></tr></tbody></table></td></tr></tbody></table></center><br /><font color="red">这个是用来支持MYSQL的，要支持MYSQL必选</font><br />将这些前的"；"去掉，其他的你需要的也可以去掉前面的;然后关闭保存该文件。<br />本人配置成功后的PHP.INI文件示例：<br /><a href="http://xqin.com/iis/php.ini" target="_blank"><font color="#003366">http://xqin.com/iis/php.ini</font></a><br /><br />（4）、配置 IIS 使其支持 PHP ：<br /><br />首先必须确定系统中已经正确安装 IIS ，如果没有安装，需要先安装 IIS ，安装步骤如下：<br /><br />打开浏览器，输入：<a href="http://localhost/" target="_blank"><font color="#003366">http://localhost/</font></a>，看到成功页面后进行下面的操作：<br /><br /><font color="blue">PHP 支持 CGI 和 ISAPI 两种安装模式，推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法：</font>ISAPI 模式安装步骤：<br /><br />在“控制面板”的“管理工具”中选择“Internet 服务管理器”，打开 IIS 后停止服务，然后在左侧“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”，在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮，在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入：PHP ，再将可执行文件指向 php5isapi.dll 所在路径，如：C:\Inetpub\php\php5isapi.dll 。<br /><br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021635772.gif');}" alt="" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021635772.gif" width="716" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" resized="true" pop="Click here to open new window&#xA;CTRL+Mouse wheel to zoom in/out" /><br />打开“Web 站点属性”窗口的“主目录”标签，找到并点击“配置”按钮，在弹出的“应用程序配置”窗口中找到并点击“添加”按钮，在弹出的窗口中新增一个扩展名映射，扩展名为 .php ，单击“浏览”将可执行文件指向 php5isapi.dll 所在路径，如：C:\Inetpub\php\php5isapi.dll，然后一路确定即可。如果还想支持诸如 .php3 ，.phtml 等扩展名的 PHP 文件，可以重复“添加”步骤。<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021636532.gif');}" alt="" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021636532.gif" width="716" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" resized="true" pop="Click here to open new window&#xA;CTRL+Mouse wheel to zoom in/out" /><br />再打开“Web 站点属性”窗口的“文档”标签，找到并点击“添加”按钮，向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级，这样，访问站点时就会首先自动寻找并打开 index.php 文档。<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021638185.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021638185.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br />确定 Web 目录的应用程序设置和执行许可中选择为纯脚本，然后关闭 Internet 信息服务管理器，在命令提示符中执行如下命令：<br /><br />net stop w3svc<br />net stop iisadmin<br />net start w3svc<br />然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许，Active Server Pages 允许<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021640138.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021640138.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br />打开浏览器，输入：<a href="http://localhost/" target="_blank"><font color="#003366">http://localhost/</font></a>，看到成功页面后，在 IIS 根目录下新建一个 phpinfo.php ，内容如下：<br /><br /><center><table cellspacing="0" cellpadding="0" width="90%" border="0"><tbody><tr><td class="smalltxt">  <b>CODE:</b></td><td align="right"><a class="smalltxt" onclick="copycode(findobj('code9'));" href="http://www.im286.com/viewthread.php?tid=878768&amp;extra=page%3D1#"><font color="#003366">[Copy to clipboard]</font></a>  </td></tr><tr><td colspan="2"><table cellspacing="1" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"><tbody><tr><td id="code9" style="WORD-BREAK: break-all" width="100%" bgcolor="#f1f1f1">&lt;?php<br />phpinfo();<br />?&gt;</td></tr></tbody></table></td></tr></tbody></table></center><br />打开浏览器，输入：<a href="http://localhost/phpinfo.php" target="_blank"><font color="#003366">http://localhost/phpinfo.php</font></a>，将显示当前服务器所支持 PHP 的全部信息，可以看到 Server API的模式为：ISAPI 。<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021641548.gif');}" alt="" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021641548.gif" width="716" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" resized="true" pop="Click here to open new window&#xA;CTRL+Mouse wheel to zoom in/out" /><br /><br /><font color="blue">三、安装 MySQL ：</font><br /><br />    如果你下载的是 Windows Essentials (x86) ，将得到 mysql-4.1.11-essential-win.exe ,直接双击安装即可。这里本人安装到C:\Inetpub\MySQL，安装过程中会提示你是不是立即进行配置，选择否即可完成安装。安装完毕后，在“开始”菜单的“运行”中输入：C:\Inetpub\MySQL\bin\mysqld-nt -install ，运行成功之后再输入：net mysql start ，将会启动 MySQL 服务；如果你还想较详细的配置 MySQL ，就请进入 C:\Inetpub\MySQL\bin 目录，运行 MySQLInstanceConfig.exe ，按提示操作即可。<br /><br />    如果你下载的是 Windows (x86) ，解压后双击执行 Setup.exe 即可，步骤同上。<br /><br />    如果你下载的是 Without installer (unzip in C:\) ，直接解压到C:\Inetpub\MySQL，在“开始”菜单的“运行”中输入： C:\Inetpub\MySQL\bin\mysqld-nt.exe ，运行成功之后再输入：net mysql start ，即可启动 MySQL 服务。<br /><br /><br /><font color="blue">为MYSQL设置密码，确保安全：</font><br />一般菜单里面有配置向导MySQL Server Instance Config Wizar，运行后按下面步骤配置设置ROOT密码即可<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021643153.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021643153.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021645227.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021645227.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br />ROOT密码，建议社设置复杂点，确保服务器安全！<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021647337.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021647337.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br />也可以在MySQL Command Line Client里面用命令配置：<br />首先在打开DOS窗口，然后进入目录 mysqlbin，再键入命令mysql -uroot -p，回车后提示你输密码，如果刚安装好MYSQL，超级用户root是没有密码的，故直接回车即可进入到MYSQL中了，MYSQL的提示符是：mysql&gt; <br /><br />修改密码。 <br />格式：mysqladmin -u用户名 -p旧密码 password 新密码 <br />例：给root加个密码xqin.com首先在DOS下进入目录mysqlbin，然后键入以下命令 <br />mysqladmin -uroot -password xqin.com <br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。<br /><br />然后执行:<br /><font color="blue">SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('xqin.com');</font><br /><font color="red">这里的命令是由于MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容,在PHPMYADMIN里用正确密码登陆也会提示：<br />Client does not support authentication protocol requested<br />by server; consider upgrading MySQL client<br />所以是为后面正确使用PHPMYADMIN做准备</font><br /><br />这样ROOT密码就设置为xqin.com了<br /><br /><font color="blue">四、安装 Zend Optimizer ：</font><br /><br />    下载后得到 ZendOptimizer-2.5.7-Windows-i386.exe ，直接双击安装即可，安装过程要你选择 Web Server 时，选择 IIS ，然后提示你是否 Restart Web Server，选择是，完成安装之前提示是否备份 php.ini ，点确定后安装完成。需要注意的是：如果您的PHP是4.3以上版本，那么就不要用缺省安装，而应该用定制安装并选择 PHP的版本为PHP 4.3.X，方能正确安装，否则会说版本不支持。<br />我这里安装到C:\Inetpub\Zend<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021651603.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021651603.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /><br />    Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为本人安装完成后 php.ini 里的默认配置代码（分号后面的内容为注释）：<br />zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll"<br />;Zend Optimizer 模块在硬盘上的安装路径。<br />zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.7"<br />;优化器所在目录，默认无须修改。<br />zend_optimizer.optimization_level=15<br />;优化程度，这里定义启动多少个优化过程，默认值是 15 ，表示同时开启 10 个优化过程中的 1-4 ，我们可以将这个值改为 1023 ，表示开启全部10个优化过程。<br /><br />调用phpinfo()函数后显示： <br />Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies with Zend Optimize <br />r v2.1.0, Copyright (c) 1998-2003, by Zend Technologies 则表示安装成功。 <br /><br /><font color="blue">安装GD库 </font><br />这一步在前面PHP.INI配置中实际上已经安装好了~<br /><br />在php.ini里找到 "extension_dir",然后将路径指向extension，如下（假设你的php安装路 <br />径为：C:\Inetpub\php、设置extension_dir = "C:\Inetpub\php、ext"，完成这步后，在php.ini里找到"extension=php_gd2.dll"这一行，并且去掉前面的分号，gd库安装完成，用echophpinfo();测试是否成功！ <br /><br /><font color="blue">五、安装 phpMyAdmin：</font><br />下载得到 phpMyAdmin-2.6.0.zip ，将其解压到 IIS 根目录，找到并打开 config.inc.php ，做以下修改：<br /><br />搜索$cfg['PmaAbsoluteUri']，设置你的phpmyadmin的URL，如：$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下<br />搜索$cfg['blowfish_secret']，设定好root密码后这里也要填写比如ROOT密码xqin.com则设置为$cfg['blowfish_secret'] = 'xqin.com';<br />搜索$cfg['DefaultLang'] ，将其设置为 zh-gb2312 ；<br />搜索$cfg['DefaultCharset'] ，将其设置为 gb2312 ；<br />搜索$cfg['Servers'][$i]['auth_type']，默认为config，是不安全的，不推荐，推荐使用cookie，将其设置为$cfg['Servers'][$i]['auth_type']     = 'cookie'; <br /><font color="red">注意这里如果设置为config请在下面设置用户名和密码！例如：<br /></font>$cfg['Servers'][$i]['user']          = 'root';      // MySQL user-----MySQL连接用户<br />$cfg['Servers'][$i]['password']      = 'xqin.com';   <br /><font color="red">本人的配置文件，仅供参考！</font><br /><a href="http://xqin.com/iis/config.inc.txt" target="_blank"><font color="#003366">http://xqin.com/iis/config.inc.txt</font></a><br />打开浏览器，输入：<a href="http://localhost/phpMyAdmin/" target="_blank"><font color="#003366">http://localhost/phpMyAdmin/</font></a> ，若 IIS 和 MySQL 均已启动，输入用户ROOT密码xqin.com即可浏览<a class="Channel_KeyLink" href="http://www.netbei.com/Article/db/Index.html">数据库</a>内容。<br />phpMyAdmin 的具体功能，请慢慢熟悉，这里不再赘述。<br />至此所有安装完毕。<br /><br /><span style="FONT-SIZE: 12px">上面帖子文字限制<br />补充： Windows 2000/XP 下的 IIS 安装：<br /><br />用 Administrator 帐号登陆系统，将 Windows 2000 安装光盘插入光盘驱动器，进入“控制面板”点击“添加/删除程序”，再点击左侧的“添加/删除 Windows 组件”，在弹出的窗口中选择“Internet 信息服务（IIS）”，点下面的“详细信息”按钮，选择组件，以下组件是必须的：“Internet 服务管理器”、“World Wide Web 服务器”和“公用文件”，确定安装。<br /><br />安装完毕后，在“控制面板”的“管理工具”里打开“服务”，检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务，如果没有启动，将其启动即可。<br /><br />Windows 2003 下的 IIS 安装：<br /><br />由于 Windows 2003 的 IIS 6.0 集成在应用程序服务器中，因此安装应用程序服务器就会默认安装 IIS 6.0 ，在“开始”菜单中点击“配置您的服务器”，在打开的“配置您的服务器向导”里左侧选择“应用程序服务器（IIS，ASP.NET）”，单击“下一步”出现“应用程序服务器选项”，你可以选择和应用程序服务器一起安装的组件，默认全选即可，单击“下一步”，出现“选择总结界面”，提示了本次安装中的选项，配置程序将自动按照“选择总结”中的选项进行安装和配置。<br /><img onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return true;} else {window.open('/Article/UploadFiles/200506/20050602021653495.gif');}" src="http://www.netbei.com/Article/UploadFiles/200506/20050602021653495.gif" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" /></span> <!--内容页广告广告代码开始--><script language="JavaScript" src="/netbei/x/view_a2.js"></script><img src ="http://www.blogjava.net/sl2cj/aggbug/51512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-08 22:19 <a href="http://www.blogjava.net/sl2cj/articles/51512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PHP 语法</title><link>http://www.blogjava.net/sl2cj/articles/50643.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Tue, 06 Jun 2006 00:45:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/50643.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/50643.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/50643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/50643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/50643.html</trackback:ping><description><![CDATA[
		<font size="2">
				<strong>PHP 语法<br /><br /></strong>作者： Builder.com<br />PHP 基本语法看起来很熟悉。 <br /><br />&lt;?php </font>
		<p>
		</p>
		<p>
				<font size="2">echo "Hello, World!";</font>
		</p>
		<p>
				<font size="2">?&gt;</font>
		</p>
		<p>
				<font size="2">运行结果：</font>
		</p>
		<p>
				<font size="2">Hello, World!</font>
		</p>
		<p>
				<font size="2">变量标记为“$”。你也可以将上面的“Hello, World!”写为如下代码：</font>
		</p>
		<p>
				<font size="2">&lt;?php</font>
		</p>
		<p>
				<font size="2">$message = "Hello, World!";</font>
		</p>
		<p>
				<font size="2">echo $message;</font>
		</p>
		<p>
				<font size="2">?&gt; </font>
		</p>
		<p>
				<font size="2">字符串的串联则是用“.”（一个英文句点）标示出来；其他有关数字的运算符号则如同你所预期的一样：</font>
		</p>
		<p>
				<font size="2">&lt;?php</font>
		</p>
		<p>
				<font size="2">$greeting = "Hello ";</font>
		</p>
		<p>
				<font size="2">$num = 3 + 2;</font>
		</p>
		<p>
				<font size="2">$num++;</font>
		</p>
		<p>
				<font size="2">echo "$greeting $num people!";</font>
		</p>
		<p>
				<font size="2">?&gt; </font>
		</p>
		<p>
				<font size="2">运行结果：</font>
		</p>
		<p>
				<font size="2">Hello 6 people!</font>
		</p>
		<p>
				<font size="2">PHP 有完整的运算符，其功能同你所预期的一样——特别是当你有C或者C++的知识背景时的时候。使用PHP一条很好的经验法则是：“遇到问题，先试试看，很可能成功。”</font>
		</p>
		<p>
				<font size="2">正如在Perl一样，一个字符串用双引号括起来，这将使得其中的变量被值置换，而如果以单引号括起来，则不会。因此，如下代码：</font>
		</p>
		<p>
				<font size="2">&lt;?php</font>
		</p>
		<p>
				<font size="2">$name = Susannah;</font>
		</p>
		<p>
				<font size="2">$greeting_1 = "Hello, $name!";</font>
		</p>
		<p>
				<font size="2">$greeting_2 = Hello, $name!;</font>
		</p>
		<p>
				<font size="2">echo "$greeting_1\n";</font>
		</p>
		<p>
				<font size="2">echo "$greeting_2\n";</font>
		</p>
		<p>
				<font size="2">?&gt; </font>
		</p>
		<p>
				<font size="2">运行结果：</font>
		</p>
		<p>
				<font size="2">Hello, Susannah!</font>
		</p>
		<p>
				<font size="2">Hello, $name!</font>
		</p>
		<p>
				<font size="2">注意字串中“\n ”是换行符号，就跟在Perl或C一样。不过这仅在以双引号括起来的字符串内才有效。</font>
		</p>
		<p>
				<font size="2">变量</font>
		</p>
		<p>
				<font size="2">PHP 可以把环境变量当作一般变量使用。这包括由服务器为一段CGI 程序所设定的环境变量（即使当你以模块方式执行PHP）。因此，如果页面</font>
				<a href="http://www.domain.com/farm/cattle/cow-cow.cow.html包括以下代码：" target="_blank">
						<font size="2">http://www.domain.com/farm/cattle/cow-cow.cow.html包括以下代码：</font>
				</a>
		</p>
		<p>
				<font size="2">&lt;?php</font>
		</p>
		<p>
				<font size="2">echo "[$REQUEST_URI]";</font>
		</p>
		<p>
				<font size="2">?&gt; </font>
		</p>
		<p>
				<font size="2">它将输出[/farm/cattle/cow-cow-cow.html]</font>
		</p>
		<p>
				<font size="2">数组<br />使用方括弧（[ and ]）设置数组索引（一般或关联性）：</font>
		</p>
		<p>
				<br />
				<br />
				<font size="2">$fruit[0] = banana;</font>
		</p>
		<p>
				<font size="2">$fruit[1] = papaya;</font>
		</p>
		<p>
				<font size="2">$favorites[animal] = turtle;</font>
		</p>
		<p>
				<font size="2">$favorites[monster] = cookie; </font>
		</p>
		<p>
				<font size="2">如果你对数组赋值，但索引是空白的，PHP则会把对象放于数组末尾。上面对变量$fruit的声明同下面代码的结果是一样的：</font>
		</p>
		<p>
				<font size="2">$fruit[] = banana;</font>
		</p>
		<p>
				<font size="2">$fruit[] = papaya; </font>
		</p>
		<p>
				<font size="2">你也可以用多维数组：</font>
		</p>
		<p>
				<font size="2">$people[David][shirt] = blue;</font>
		</p>
		<p>
				<font size="2">$people[David][car] = minivan;</font>
		</p>
		<p>
				<font size="2">$people[Adam][shirt] = white;</font>
		</p>
		<p>
				<font size="2">$people[Adam][car] = sedan; </font>
		</p>
		<p>
				<font size="2">一个创建数组的简便方法是</font>
		</p>
		<p>
				<font size="2">array()</font>
		</p>
		<p>
				<font size="2">函数为：</font>
		</p>
		<p>
				<font size="2">$fruit = array(banana,papaya);</font>
		</p>
		<p>
				<font size="2">$favorites = array(animal =&gt; turtle,</font>
		</p>
		<p>
				<font size="2">monster =&gt; cookie); </font>
		</p>
		<p>
				<font size="2">或者</font>
		</p>
		<p>
				<font size="2">$people = array (David =&gt; array(shirt =&gt; blue,</font>
		</p>
		<p>
				<font size="2">car =&gt; minivan),</font>
		</p>
		<p>
				<font size="2">Adam =&gt; array(shirt =&gt; white,</font>
		</p>
		<p>
				<font size="2">car =&gt; sedan)); </font>
		</p>
		<p>
				<font size="2">内建函数count()表明一个数组里有多少元素：</font>
		</p>
		<p>
				<font size="2">$fruit = array(banana,papaya);</font>
		</p>
		<p>
				<font size="2">print count($fruit); </font>
		</p>
		<p>
				<font size="2">得到如下结果</font>
		</p>
		<p>
				<font size="2">2</font>
		</p>
		<p>
				<font size="2">控制结构<br />你可以利用循环结构例如for以及while：</font>
		</p>
		<p>
				<br />
				<br />
				<font size="2">for ($i = 4; $i &lt; 8; $i++) {</font>
		</p>
		<p>
				<font size="2">print "I have eaten $i bagels today.\n"; }</font>
		</p>
		<p>
				<font size="2">结果</font>
		</p>
		<p>
				<font size="2">I have eaten 4 bagels today.</font>
		</p>
		<p>
				<font size="2">I have eaten 5 bagels today.</font>
		</p>
		<p>
				<font size="2">I have eaten 6 bagels today.</font>
		</p>
		<p>
				<font size="2">I have eaten 7 bagels today. </font>
		</p>
		<p>
				<font size="2">同样可写为</font>
		</p>
		<p>
				<font size="2">$i = 4; while ($i &lt; 8) {</font>
		</p>
		<p>
				<font size="2">print "I have eaten $i bagels today.\n";</font>
		</p>
		<p>
				<font size="2">$i++;</font>
		</p>
		<p>
				<font size="2">}</font>
		</p>
		<p>
				<font size="2">你可以使用控制结构if以及elseif：</font>
		</p>
		<p>
				<font size="2">if ($user_count &gt; 200) {</font>
		</p>
		<p>
				<font size="2">print "The site is busy right now!";</font>
		</p>
		<p>
				<font size="2">} elseif ($user_count &gt; 100) {</font>
		</p>
		<p>
				<font size="2">print "The site is sort of active right now!";</font>
		</p>
		<p>
				<font size="2">else {</font>
		</p>
		<p>
				<font size="2">print "The site is lonely - only $user_count user logged on.";</font>
		</p>
		<p>
				<font size="2">}</font>
		</p>
		<p>
				<font size="2">使用运算符的经验法则同样也可以运用在控制结构上面。你还可以使用switch，do...while，甚至是 ?: 结构。</font>
		</p>
<img src ="http://www.blogjava.net/sl2cj/aggbug/50643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-06 08:45 <a href="http://www.blogjava.net/sl2cj/articles/50643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>php5手动最简安装方法 </title><link>http://www.blogjava.net/sl2cj/articles/50292.html</link><dc:creator>blog搬家了--[www.ialway.com/blog]</dc:creator><author>blog搬家了--[www.ialway.com/blog]</author><pubDate>Sun, 04 Jun 2006 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/sl2cj/articles/50292.html</guid><wfw:comment>http://www.blogjava.net/sl2cj/comments/50292.html</wfw:comment><comments>http://www.blogjava.net/sl2cj/articles/50292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sl2cj/comments/commentRss/50292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sl2cj/services/trackbacks/50292.html</trackback:ping><description><![CDATA[
		<table cellspacing="3" cellpadding="5" width="585" summary="php5手动最简安装方法" border="0">
				<tbody>
						<tr>
								<td align="middle" bgcolor="#dee2f5">
										<strong>php5手动最简安装方法</strong>
								</td>
						</tr>
				</tbody>
		</table>
		<script language="javascript" src="/article/js/c5.js">
		</script>
		<table cellspacing="2" cellpadding="0" width="585" border="0">
				<tbody>
						<tr valign="top">
								<td>
										<table cellspacing="3" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td>
																		<span class="blue">作者：</span>未知</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">日期：</span>2005-12-23</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">人气：</span>
																		<script language="javascript" src="27154_click.js">
																		</script>
 465</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">投稿：</span>(<span class="gray">转贴</span>)</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">来源：</span>未知</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">字体：</span>
																		<a href="javascript:doZoom(16)">大</a>
																		<a href="javascript:doZoom(14)">中</a>
																		<a href="javascript:doZoom(12)">小</a>
																</td>
														</tr>
														<tr>
																<td>
																		<span class="blue">收藏：</span>
																		<a href="javascript:addFav('php5手动最简安装方法_WEBASP.NET')">加入浏览器收藏</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
								<td rowspan="2">
										<script language="javascript" src="/article/js/c6.js">
										</script>
								</td>
						</tr>
						<tr>
								<td>
										<script language="javascript" src="/article/js/c7.js">
										</script>
								</td>
						</tr>
				</tbody>
		</table>
		<script language="javascript" src="/article/js/c8.js">
		</script>
		<table cellspacing="1" cellpadding="0" align="center" border="0">
				<tbody>
						<tr>
								<td>
										<a href="http://ewebeditor.webasp.net/" target="_blank">
												<img height="60" src="http://www.webasp.net/images/ewebeditor468.gif" width="468" border="0" />
										</a>
								</td>
						</tr>
				</tbody>
		</table>
		<table cellspacing="1" cellpadding="5" width="585" border="0">
				<tbody>
						<tr bgcolor="#dee2f5">
								<td width="15%">
										<b>以下正文：</b>
								</td>
								<td width="85%">
										<script language="javascript" src="/article/js/c9.js">
										</script>
								</td>
						</tr>
				</tbody>
		</table>
		<table cellspacing="10" cellpadding="0" width="585" border="0">
				<tbody>
						<tr>
								<td>
										<table style="TABLE-LAYOUT: fixed" cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td class="content" id="zoom" style="WORD-WRAP: break-word">
																		<p>系统要求<br />　　win2000 advanced server<br />　　iis5.0<br />　　php5rc2<br /><br />第一步<br />　　当然是先要从http://cn.php.net/get/php-5.0.3-Win32.zip/from/a/mirror 上下个php-5.0.3-Win32.zip回来。偶下的是php-5.0.3RC2-Win32.zip其实和php-5.0.3-Win32.zip差不多就少了两注册表文件,不过根本用不上,那是为iis4以下版本准备的 。<br /><br />第二步<br />　　解压到任意目录，比如n:\imp\php\php5.0.3 不过不要在目录名里面有空格，以免出一些小麻烦。像e:\program files\php这样设置目录就不大妥当。<br /><br />第三步<br />　　把你刚解压的目录名加到系统环境变量path里面。系统环境变量的不知道？晕倒！桌面-〉我的电脑-〉鼠标右键-〉属性-〉高级-〉系统变量-〉path-&gt;编辑－〉在最后面加分号；目录名（例如：n:\imp\php\php5.0.3）－〉确定。<br /><br />第四步<br />　　在刚添加到ｐａｔｈ中的那个目录里面找到php.ini-dist或php.ini-recommended重命名为ｐｈｐ．ｉｎｉ　剪切到系统目录下　c:\winnt 。用后面那个省得还要自己设置。<br /><br />第五步 <br />　连接php为isapi方式<br />　　确认iis5.0 工作正常。打开internet服务管理器（运行-〉inetmgr-〉在你要连接php的网站或默认网站站点-〉单击鼠标右键 -〉属性-〉主目录--〉配置--〉应用程序映射-〉添加--〉可执行文件-〉你的php目录中的php5isapi.dll-〉扩展名-〉php（php3 phtml）-〉全部动作或限于（option，get ，post ，head。。。自己加）-〉钩选 脚本引擎--〉钩选 检查文件是否存在--〉确定--〉isapi筛选器--〉添加--〉筛选器名称—〉php--〉可执行文件--〉你的php目录中的php5isapi.dll--〉确定--〉主目录--〉钩选 脚本资源访问--〉执行许可--〉脚本和可执行程序。 属性-〉文档--〉启用默认文档--〉添加 --〉index.php 。<br /><br />　连接php为cgi方式<br />　　在主目录添加应用程序映射为php.exe 文件后缀为php就Ok 啦 如果要支持多个后缀，重复添加。<br />　　在此种安装的时候要注意在应用程序映射的时候的路径的写法，否则会出现下面的错误信息。</p>
																		<p>CGI Timeout<br />　　The specified CGI application exceeded the allowed time for processing. The server has deleted the process.<br />　　应该在路径后面加上"%s" %s 比如你的php.exe的路径是 n:\imp\php\php5.0.3\php.exe 那么在写到应用程序映射-&gt;可执行文件时就应该这样写 n:\imp\php\php5.0.3\php.exe "%s" %s <br /><br />　　cgi的界面就是白底黑字。安全方面也不容乐观。所以用什么方式还是你自己定吧。<br /><br />　　重启iis，运行--〉net stop iisadmin　net start w3svc<br />　　顺便介绍下运行的几个程序<br />　　ｃｍｄ<br />　　inetmgr<br />　　compmgmt<br /><br /><br />第六步<br />　　编写一个测试页，也就是包含php脚本的页面<br /></p>
																		<p class="code">&lt;?php<br /><br />echo 'Current PHP version: ' . phpversion();<br /><br />phpinfo();<br /><br />phpinfo(INFO_MODULES);<br /><br />?&gt;</p>
																		<p>
																				<br />　　保存为index.php，放到刚才你连接过php的网站的主目录中。在浏览器中查看此页。比如http://localhost/<br /><br />第七步<br />　　安装其他插件 （扩展）</p>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/sl2cj/aggbug/50292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sl2cj/" target="_blank">blog搬家了--[www.ialway.com/blog]</a> 2006-06-04 16:34 <a href="http://www.blogjava.net/sl2cj/articles/50292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>