<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[水寒软件技术研究中心]]></title>
<link>http://www.shuihan.com/</link>
<description><![CDATA[提供秦皇岛网站制作、网站建设和软件开发服务，致力于ASP/PHP软件开发、单片机C语言开发、嵌入式Linux及Windows CE项目开发，免费为公益机构提供咨询和技术支持。]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[xqlu@shuihan.com(水寒)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>水寒软件技术研究中心</title>
	<url>http://www.shuihan.com/images/logos.gif</url>
	<link>http://www.shuihan.com/</link>
	<description>水寒软件技术研究中心</description>
</image>

			<item>
			<link>http://www.shuihan.com/article.asp?id=516</link>
			<title><![CDATA[中华网免费邮箱终身免费的承诺！-网络上最大的谎言]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[生活笔记]]></category>
			<pubDate>Sat,27 Feb 2010 00:05:12 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=516</guid>
		<description><![CDATA[　　我在一个重要的论坛注册密码忘了，取回需要使用当初注册的邮箱，我知道这肯定是取不回来，因为这个邮箱现在竟然无端蒸发了，现在每每想起都想骂街，估计跟我一样境况的人不少，那就是当初受了中华邮的承诺忽悠了的人。<br/><br/>　　上大学那会儿，是地地道道的穷学生，邮箱自然用免费的了，最先注册的是一个263的，被无情的K了。之后又注册了一个163的和21cn的邮箱。记得那时候邮箱很多都开始从免费变收费，自己经常担心会不会明天早上打开邮箱就进不去了，要我去交钱用，经常有这样的恐慌，自然想找一个真正的不用担心的免费邮箱。这时候中华邮出现了，我估计他是想造势，或者是为了吸引大家来用他的收费邮，大张旗鼓的的“郑重承诺”--“每个中国人都给可以终身免费拥有一个中华邮免费邮”，言辞诚恳真切，承诺掷地有声，民族精神大义凛然，充满正义感，使我做出了个最错的选择，抛弃了其他投靠了他。结果号称“率先做出表率”“郑重承诺”的中国人终身免费的邮箱竟然连5年都没有支撑到，猛然间峰回路转，闪了！现在连mail.china.com收费的都没了，不知道这个首个在纳斯达克上市的公司是怎么顶住违背自己诺言的压力的，这个用着china字眼的公司怎么违背做人底线的，要是没有本事当初你别承诺，你低调的为大家服务，服好务，大家也会默默地褒奖你，传诵你，就算有一天你是在支撑不下去了大家也不会怪你，也会同情你。这好，牛逼吹大了吹过了，到头来落得声名狼藉，不好收场。<br/><br/>　　不知道中华网的boss晚上睡觉心里踏实不？是否天天喷嚏不断呢？中华邮死了，被中华网昧着良心扼杀了，死的不明不白，估计在底下日子也不好过，希望中华网尽早向亿唐老哥学习，期待有一天打开china.com的时候页面上显示“This domain for sale.”。<br/><br/>　　说好了不在为这事儿生气，怎么今天又生气了，哎～　容易激动的一个人，揭过这一页，以后踏实的使用自己的企业邮箱，自己的东西最踏实。<br/><br/>　　顺便贴上若干年前中华网的承诺，看看他当初的铿锵有力的承诺，供大家茶余饭后赏析：<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://www.shuihan.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">《中华网郑重承诺》 <br/>　　<br/>　　<br/>　　 您是否曾经有过这样的经历：“某一天进入自己的免费信箱，突然发现很多重要信件都不翼而飞，此时却哭诉无门，因为自己的邮箱是免费的。”如果您有过这样的经历，您或许永远也不会再信任免费的服务。 <br/>　　<br/>　　 作为最早在美国NASDAQ上市的中国网络公司，中华网通过近一年来的分析和总结，充分认识到了用户的这种心理以及由此所带来的网络信用危机。在这种背景下，中华网愿意率先作出表率，以便逐渐扭转网络公司的免费服务给广大用户的印象，因此庄严承诺---任何一个人都可以终身免费拥有一个代表中国人身份的 @mail.china.com 邮箱。一旦拥有，它将陪伴您一生一世....<br/>　　<br/>　　 目前，免费拥有 @mail.china.com信箱的用户的使用空间为2M ，为了将来提供给广大免费用户更大的磁盘使用空间和提供更好的服务，中华网在免费的基础上适当的提出了收费策略，以便在保证公司正常运营的情况下，购置更多的存储空间回报给广大用户。现在，用户只需要每年支付20元人民币的费用，即可享受如下所有的服务：<br/>　　<br/>　　 邮箱尺寸由2M扩容置20M <br/>　　 邮箱病毒自动过滤 <br/>　　 与2M用户分开的存储设备 <br/>　　 邮箱信件每周的自动备份 <br/>　　 更深层次的垃圾邮件过滤功能 <br/>　　<br/>　　 不准备购买收费服务的免费用户，仍然可以终身拥有 中国人@mail.china.com 的邮箱，但得不到上述的服务。购买了收费服务的用户，在费用到期后，其信箱将恢复为2M的容量。<br/>　　<br/>　　 作为一个中国人，拥有了 @mail.china.com ,也就意味着自己在网络中有了“中国人”这个闪亮的标识 ，而中华网愿意让这个标识永远地伴随您，并深深铭刻在每一个中国人的心中....<br/>　　<br/>　　 朋友，去珍惜您身边的每一次机会吧，尤其是那种可以让您找到终身归属感的机会，同时，让我们携起手来，共同创建美好的中华家园！<br/>　　<br/>　　 如果您有购买免费电邮之收费服务的冲动和欲望，并且您的经济条件允许的话，那么，现在就行动吧！只需要点击左边的 “信箱充电器”即可完成。<br/>　　<br/>　　 中华网公司<br/>　　<br/>　　 2003.1.28<br/><br/></div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=515</link>
			<title><![CDATA[windows7中如何显示已知文件扩展名]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[windows 7]]></category>
			<pubDate>Sun,13 Dec 2009 19:43:32 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=515</guid>
		<description><![CDATA[<p>windows7中如何显示文件扩展名</p>
<p>　　打开资源管理器，浏览任意目录下的文件。这时候你会发现默认是找不到工具菜单的（我就被迷惑了好久），最后终于找到，按一下&ldquo;Alt&rdquo;键就可以呼出工具菜单，点击&ldquo;工具&rdquo; &gt;&gt; &ldquo;文件夹选项&rdquo; 弹出文件夹选项对话框。这时候的修改就跟xp一样了，点击&ldquo;查看&rdquo;， 将&ldquo;隐藏已知文件类型的扩展名&rdquo;前面的勾选状态取消，点击&ldquo;确定&rdquo; 搞定。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=514</link>
			<title><![CDATA[php中microtime()函数]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[程序设计]]></category>
			<pubDate>Tue,03 Nov 2009 15:32:08 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=514</guid>
		<description><![CDATA[<h2 style="margin: 13pt 0cm"><span style="font-family: Arial"><span style="mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">首先介绍一下</span><span lang="EN-US">microtime()</span><span style="mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">函数的用法：</span></span><span lang="EN-US"><o:p></o:p></span></h2>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><b style="mso-bidi-font-weight: normal"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">定义和用法<span style="color: red">（</span></span><span lang="EN-US" style="color: red">php5</span></b><b style="mso-bidi-font-weight: normal"><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）</span></b><b style="mso-bidi-font-weight: normal"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span></b></font></span><font size="3"><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><o:p></o:p></span></b></font></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span style="font-family: Arial"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font size="3">(1)</font><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span></span><font size="3"><span lang="EN-US">microtime() </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函数返回当前</span><span lang="EN-US"> Unix </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">时间戳和微秒数。</span></font></span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span style="font-family: Arial"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font size="3">(2)</font><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span></span><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">返回的字符串的格式：</span><span lang="EN-US">msec sec</span></font></span><font size="3"><span lang="EN-US"><font face="宋体"><o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><b style="mso-bidi-font-weight: normal"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">语法：</span><span lang="EN-US">microtime(get_as_float) </span></font></b></span><b style="mso-bidi-font-weight: normal"><font size="3"><span lang="EN-US"><font face="宋体"><o:p></o:p></font></span></font></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">参数：</span><span lang="EN-US">get_as_float </span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">描述：如果给出了</span><span lang="EN-US"> get_as_float </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">参数并且其值等价于</span><span lang="EN-US"> TRUE</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，该函数将返回一个浮点数。</span><span lang="EN-US"> </span></font></span><font size="3"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><b style="mso-bidi-font-weight: normal"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">说明</span></font></b></span><b style="mso-bidi-font-weight: normal"><font size="3"><span lang="EN-US"><o:p></o:p></span></font></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">本函数仅在支持</span><span lang="EN-US"> gettimeofday() </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">系统调用的操作系统下可用。</span></font></span><font size="3"><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">如果调用时不带可选参数，本函数以</span><span lang="EN-US" style="color: red"> &quot;msec sec&quot; </span></u><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的格式返回一个字符串，其中</span><span lang="EN-US" style="color: red"> sec </span></u><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是自</span><span lang="EN-US" style="color: red"> Unix </span></u><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">纪元（</span><span lang="EN-US" style="color: red">0:00:00 January 1, 1970 GMT</span></u><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）起到现在的秒数，</span><span lang="EN-US" style="color: red">msec </span></u><u><span style="color: red; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是微秒部分。字符串的两部分都是以秒为单位返回的。</span></u></font></span><font size="3"><u><span lang="EN-US" style="color: red"><o:p></o:p></span></u></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><b style="mso-bidi-font-weight: normal"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">示例代码：</span></font></b></span><b style="mso-bidi-font-weight: normal"><font size="3"><span lang="EN-US"><o:p></o:p></span></font></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">&lt;?php</font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo microtime();</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo '&lt;br /&gt;';</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo microtime(TRUE);</font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">?&gt;</font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><b style="mso-bidi-font-weight: normal"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">运行该代码浏览器显示结果：</span></font></b></span><b style="mso-bidi-font-weight: normal"><font size="3"><span lang="EN-US"><o:p></o:p></span></font></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">0.45316500 12212282521221228252.45</font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们看到</span><span lang="EN-US">microtime(TRUE),</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">只返回了</span><span lang="EN-US">2</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">位的小数。如果要输出更多位的微秒，需要函数</span><span lang="EN-US">number_format().</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">看最后附</span><span lang="EN-US">1</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这个函数的用法。</span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">补充：在</span><span lang="EN-US">PHP4</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下</span><span lang="EN-US">microtime()</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的用法</span><span lang="EN-US"> ,</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">由于没有参数</span><span lang="EN-US">TRUE</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的用法，所以如果要得到浮点数，需要配合</span><span lang="EN-US">array_num()</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函数和</span><span lang="EN-US">explode</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（）函数。</span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">比如：</span></font></span><font size="3"><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">　　在</span><span lang="EN-US">PHP</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里面，要想统计一个</span><span lang="EN-US">action</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">或者一个函数或者某个过程的执行所消耗的时间往往都只有一个办法：<u><span style="color: #0070c0">在运算前记录下时间戳，在运算后记录下时间戳，然后相减，就能得到一个相对比较实际的时间</span></u>。</span> <span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">基本代码如下（从</span><span lang="EN-US">phpmyadmin</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里复制而来，懒得打了。这段代码其实也就是</span><span lang="EN-US">phpMyadmin</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里</span><span lang="EN-US">SQL</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的执行时间的计算）：</span><span lang="EN-US"> </span></font></span><font face="宋体"><font size="3"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span lang="EN-US">PHP</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">代码：</span></font></span><font size="3"><span lang="EN-US"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">&lt;?php </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">// garvin: Measure query time. </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">// TODO-Item http://sourceforge.net/tracker/index.php?func=detail&amp;aid=571934&amp;group_id=23067&amp;atid=377411 </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$querytime_before = array_sum(explode(' ', microtime())); </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$result = @PMA_DBI_try_query($full_sql_query, null, PMA_DBI_QUERY_STORE); </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$querytime_after = array_sum(explode(' ', microtime())); </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$GLOBALS['querytime'] = $querytime_after - $querytime_before; </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">?&gt; </font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">看文章最后附</span><span lang="EN-US">2, array_sum()</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函数的用法。</span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">其中</span><span lang="EN-US">array_sum(explode(' ', microtime())); </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是</span><span lang="EN-US">PHP4</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">时代的写法，到</span><span lang="EN-US">PHP5</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之后</span><span lang="EN-US">,microtime</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函数多了一个</span><span lang="EN-US">bool</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">值的参数，加上这个参数后可以直接得到</span><span lang="EN-US"> array_sum(explode(' ', microtime())); </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">相等的值，即：</span><span lang="EN-US">microtime(true)</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span> </font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<h3 style="margin: 13pt 0cm"><span style="font-family: Arial"><font size="5"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">附</span><span lang="EN-US">1</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span lang="EN-US">number_format()</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的用法</span> </font></span><font size="5"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><b style="mso-bidi-font-weight: normal"><span lang="EN-US">number_format</span></b><b style="mso-bidi-font-weight: normal"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函数</span></b></font></span><font face="宋体"><font size="3"><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><o:p></o:p></span></b></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><font size="3">格式化数字字串。</font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">语法</span><span lang="EN-US">: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]); </span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">传回值</span><span lang="EN-US">: </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">字串</span> </font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">函式种类</span><span lang="EN-US">: </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">数学运算</span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></font></span><font size="3"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3"><span style="mso-spacerun: yes">&nbsp; </span></font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">内容说明</span> </font></span><font size="3"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">本函式用来将浮点参数</span><span lang="EN-US"> number </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">格式化。若没加参数</span><span lang="EN-US"> decimals </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">则传回的字串只要整数部份，加了此参数才依参数指定的小数点位数传回。参数</span><span lang="EN-US"> dec_point </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">表示小数点的表示方式方法，内定值是</span><span lang="EN-US"> &quot;.&quot;</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，若需要转换成其它的小数点就可以在这个参数改掉。参数</span><span lang="EN-US"> thousands_sep </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">为整数部份每三位的分隔符号，内定值是</span><span lang="EN-US"> &quot;,&quot;</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。本函式最特别的地方就是参数数目，最少要有一个，也就是欲格式化的字串；也可以有二个或者四个参数，但不能用三个参数。值得注意的是指定小数点的位数之后的数字直接舍弃，没有四舍五入的情形。</span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></font></span><font size="3"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3"><span style="mso-spacerun: yes">&nbsp; </span></font></span></span><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">使用范例</span> </font></span><font size="3"><font face="宋体"><span lang="EN-US"><o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">&lt;?php </font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$short_pi = &quot;3.14159&quot;;</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$my_pi = number_format($short_pi, 2);</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo $my_pi.&quot;\n&quot;;<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>// 3.14</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$foo = 850017.9021;</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$new_foo = number_format($foo, 3, &quot;.&quot;, &quot; &quot;);</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo $new_foo.&quot;\n&quot;;<span style="mso-spacerun: yes">&nbsp; </span>// 850 017.902</font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">?&gt;<span style="mso-spacerun: yes">&nbsp; </span></font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<h3 style="margin: 13pt 0cm"><span style="font-family: Arial"><font size="5"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">附</span><span lang="EN-US">2 array_num</span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的用法</span></font></span><font size="5"><span lang="EN-US"><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><font size="3">array_sum (PHP 4 &gt;= 4.0.4)<span style="mso-spacerun: yes">&nbsp; </span></font></span></b></span><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><font face="宋体"><font size="3"><o:p></o:p></font></font></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span lang="EN-US">array_sum --<span style="mso-spacerun: yes">&nbsp; </span></span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">计算数组中所有值的和</span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">说明：</span><span lang="EN-US">mixed array_sum ( array array) </span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span lang="EN-US">array_sum() </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">将数组中的所有值的和以整数或浮点数的结果返回。</span> </font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">例子</span><span lang="EN-US">1. array_sum() </span><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">例子</span></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">&lt;?php</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$a = array(2, 4, 6, 8);</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo &quot;sum(a) = &quot;.array_sum($a).&quot;\n&quot;; </font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">$b = array(&quot;a&quot;=&gt;1.2,&quot;b&quot;=&gt;2.3,&quot;c&quot;=&gt;3.4);</font></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">echo &quot;sum(b) = &quot;.array_sum($b).&quot;\n&quot;;<span style="mso-spacerun: yes">&nbsp; </span></font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><font size="3">?&gt;</font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><span lang="EN-US"><o:p><font size="3">&nbsp;</font></o:p></span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: Arial"><font size="3"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以上程序输出为：</span><span lang="EN-US"> sum(a) = 20sum(b) = 6.9 </span></font></span></p>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=513</link>
			<title><![CDATA[XHTML的标签嵌套规则]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[生活笔记]]></category>
			<pubDate>Sun,11 Oct 2009 00:27:07 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=513</guid>
		<description><![CDATA[<strong>下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则，比如你不能在 &lt;a&gt; 里面再嵌入一个 &lt;a&gt; 这样的约定。</strong><br/><br/><strong>说明：</strong><br/><br/>1. 为了方便读者阅读，本文中的标签使用了大写（根据 XHTML 的规则，元素名必须小写，比如 &lt;html&gt; 而不应是 &lt;HTML&gt;）。<br/>2. 小写的单词表明一组或一系列 HTML 标签。<br/>3. 每一项条目（标签）后都跟随一组标签列表，如果没有这个列表，那么表明该条目（标签）内部不允许包含任何标签。这意味着该条目内部只能包含纯文本内容（#PCDATA，见下文）。如果注明 (empty)，这意味着该条目内部不允许包含任何形式的内容。对于 flow，inline，block，OBJECT 和 BODY，其内部允许包含的内容在文中会单独给出。 <br/>4. #PCDATA 的意思是“parsed character data”，即纯文本内容（不包括任何 HTML 标签，但是转义内容可以存在，比如 &amp;auml; 和 &amp;#228;）。<br/>5. CDATA 的意思是“character data”，这意味着不包括转义内容的纯文本内容，详细内容可以参考CDATA Confusion。<br/>6. excluding ... 意即不得直接或者间接的包含所列的元素。<br/><br/><img src="http://www.shuihan.com/download.asp?id=2" border="0" alt=""/><br/><br/><strong>注1. </strong>以上内容基于 [HTML 4.01 Specification] 的 Strict DTD。JunChen 翻译自 Allowed nesting of elements in HTML 4 Strict (and XHTML 1.0 Strict)，水寒转载。<br/><br/><strong>注2</strong>. 对于 XHTML 1.0，基本上一致，不同点如下：<br/>1. 对于 &lt;script&gt; 和 &lt;style&gt; 的内容，在 HTML 4 里是 CDATA 而在 XHTML 里是 #PCDATA <br/>2. 在 XHTML 中，&lt;table&gt; 标签后可以紧跟一个 &lt;tr&gt;，而在 HTML 4.01 里，不允许这样，不过 &lt;tbody&gt; 标签又是可以省略的。意思就是说，如果代码中的 &lt;table&gt; 后紧跟 &lt;tr&gt;，对于 HTML 4.01，会隐性的生成一个 &lt;tbody&gt; 标签，而在 XHTML 里面就没有。这会影响到样式表使用 tbody 作为选择器。]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=512</link>
			<title><![CDATA[漏极开路电路和IO口驱动能力分析]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[生活笔记]]></category>
			<pubDate>Fri,31 Jul 2009 17:59:15 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=512</guid>
		<description><![CDATA[<p><span style="font-size: 13px; line-height: 1.8em">　　<span style="font-weight: bold"><wbr></wbr><span style="color: #800000"><span style="line-height: 1.8em">漏极开路电路</span></span><wbr></wbr></span><wbr></wbr>在数字信号输入输出和驱动负载上有着重要作用，通过漏极开路电路可以实现IO口的三态（即可以实现高电平、低电平和高阻状态），有了高阻状态就可以检测输入信号；同时作为输出口时通过上拉电阻接高电平可以增强输出口的驱动能力。所以很有必要了解、掌握漏极开路电路的分析。 </span><wbr></wbr><br />
<br />
&nbsp;</p>
<div style="text-align: center"><span style="font-size: 13px; line-height: 1.8em"><wbr></wbr><wbr></wbr><span style="font-size: 13px; line-height: 1.8em"><img alt="" src="http://www.shuihan.com/download.asp?id=1" /></span>&nbsp;</span><wbr></wbr></div>
<p><br />
<span style="font-size: 13px; line-height: 1.8em">　　要了解<span style="font-weight: bold"><wbr></wbr><span style="color: #800000"><span style="line-height: 1.8em">漏极开路电路</span></span><wbr></wbr></span><wbr></wbr>，我们先来看看<span style="font-weight: bold"><wbr></wbr>集电极开路输出</span><wbr></wbr>的结构。<span style="font-weight: bold"><wbr></wbr>集电极开路输出</span><wbr></wbr>的结构如图1所示，右边的那个三极管集电极什么都不接，所以叫做<span style="font-weight: bold"><wbr></wbr>集电极开路</span><wbr></wbr>（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">左边的三极管为反相之用，使输入为&ldquo;0&rdquo;时，输出也为&ldquo;0&rdquo;</span><wbr></wbr>）。对于图1，当左端的输入为&ldquo;0&rdquo;时，前面的三极管截止（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">即集电极C跟发射极E之间相当于断开</span><wbr></wbr>），所以5V电源通过1K电阻加到右边的三极管上，右边的三极管导通（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">即相当于一个开关闭合</span><wbr></wbr>）；当左端的输入为&ldquo;1&rdquo;时，前面的三极管导通，而后面的三极管截止（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">相当于开关断开</span><wbr></wbr>）。 <br />
<br />
　　再将图1简化成图2的样子。图2中的开关受软件控制，&ldquo;1&rdquo;时断开，&ldquo;0&rdquo;时闭合。很明显可以看出，当开关闭合时，输出直接接地，所以输出电平为0。而当开关断开时，则输出端悬空了，即<span style="font-weight: bold"><wbr></wbr>高阻态</span><wbr></wbr>。<span style="text-decoration: underline"><wbr></wbr>高阻态就是这时电平状态未知，他的电平由端口的负载决定</span><wbr></wbr>。如果后面一个电阻负载（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">即使很轻的负载</span><wbr></wbr>）到地，那么输出端的电平就被这个负载拉到低电平了，所以<span style="text-decoration: underline"><wbr></wbr>这个电路是不能输出高电平的</span><wbr></wbr>。 <br />
<br />
　　这个时候再看图3。图3中那个1K的电阻即是<span style="font-weight: bold"><wbr></wbr>上拉电阻</span><wbr></wbr>。如果开关闭合，则有电流从1K电阻及开关上流过，但由于开关闭和时电阻为0（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">方便我们的讨论，实际情况中开关电阻不为0，另外对于三极管还存在饱和压降</span><wbr></wbr>），所以在开关上的电压为0，即输出电平为0。如果开关断开，则由于开关电阻为无穷大（<span style="line-height: 1.8em; font-family: '仿宋_GB2312'">同上，不考虑实际中的漏电流</span><wbr></wbr>），所以流过的电流为0，因此在1K电阻上的压降也为0，所以输出端的电压就是5V了，这样就能输出高电平了。</span><wbr></wbr> <br />
<br />
<span style="font-size: 13px; line-height: 1.8em">　　但是这个输出的内阻是比较大的（即1K&Omega;），如果接一个电阻为R的负载，通过分压计算，就可以算得最后的输出电压为5*R/(R+1000)伏，即5/(1+1000/R)伏。所以，如果要达到一定的电压的话，R就不能太小。如果R真的太小，而导致输出电压不够的话，那我们只有通过减小那个1K的上拉电阻来增加驱动能力。但是，上拉电阻又不能取得太小，因为当开关闭合时，将产生电流，由于开关能流过的电流是有限的，因此限制了上拉电阻的取值，另外还需要考虑到，当输出低电平时，负载可能还会给提供一部分电流从开关流过，因此要综合这些电流考虑来选择合适的上拉电阻。</span><wbr></wbr> <br />
<br />
<span style="font-size: 13px; line-height: 1.8em">　　如果我们将一个读数据用的输入端接在输出端，这样就是一个IO口了（<span style="color: #ff0000"><span style="line-height: 1.8em; font-family: '仿宋_GB2312'">51单片机的IO口就是这样的结构，其中P0口内部不带上拉，而其它三个口带内部上拉</span></span><wbr></wbr>）。这也是为什么51单片机IO口叫做准双向口，在使用IO输入信号时需要先把IO口写1。类似只要带上拉电阻的三态IO口，是当我们要使用输入功能时，只要将输出口设置为1即可，这样就相当于那个开关断开，而对于P0口来说，就是高阻态了。 <br />
<br />
　　对于<span style="font-weight: bold"><wbr></wbr><span style="color: #800000"><span style="line-height: 1.8em">漏极开路（OD）输出</span></span><wbr></wbr></span><wbr></wbr>，跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极，OC就变成了OD，原理分析是一样的。 <br />
<br />
　　另一种输出结构是<span style="font-weight: bold"><wbr></wbr><span style="color: #800000"><span style="line-height: 1.8em">推挽输出</span></span><wbr></wbr></span><wbr></wbr>。<span style="text-decoration: underline"><wbr></wbr><span style="font-weight: bold"><wbr></wbr><span style="color: #800000"><span style="line-height: 1.8em">推挽输出</span></span><wbr></wbr></span><wbr></wbr>的结构就是把上面的上拉电阻也换成一个开关，当要输出高电平时，上面的开关通，下面的开关断；而要输出低电平时，则刚好相反</span><wbr></wbr>。比起OC或者OD来说，这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话，就会产生很大的电流，有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况，因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时，则两个开关必须同时断开（或者在输出口上使用一个传输门），这样可作为输入状态，AVR单片机的一些IO口就是这种结构。</span><wbr></wbr></p>]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=511</link>
			<title><![CDATA[Debian/Ubuntu和XP双系统：重装Windows XP后修复GRUB]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[电脑故障]]></category>
			<pubDate>Thu,07 May 2009 16:07:19 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=511</guid>
		<description><![CDATA[<strong>debian Grub修复方法一：</strong><br/>用启动盘进入LINUX，然后输入命令<br/><span style="font-family:Courier New"><span style="color:Green">grub<br/>root (hd0,0)<br/>setup (hd0)<br/>quit</span></span><br/>注意root 、setup后面有空格<br/><br/><strong>debian Grub修复方法二：</strong><br/>1、用光盘启动系统；<br/>2、按系统的提示一步步进行操作，当进行到分区的时候，按住键盘的ALT+F2。<br/>3、运行命令：<br/><span style="color:Green"><span style="font-family:Courier New">mkdir /mnt<br/>mount /dev/ide/host0/target0/lun0/part1 /mnt<br/>chmod /mnt</span></span><br/>4、<span style="color:Green"><span style="font-family:Courier New">grub-install /dev/hda</span></span><br/>5、重新启动系统。<br/><br/><strong>Ubuntu Grub修复方法</strong><br/>修复grub的方法：<br/>使用livecd启动，进入桌面系统，在终端输入<br/><span style="font-family:Courier New"><span style="color:Green">sudo grub up&#100;ate</span></span><br/>进入grub命令行，输入<br/><span style="font-family:Courier New"><span style="color:Green">root (hd0,x)<br/>setup (hd0)</span></span><br/><br/>hd0 指第一块硬盘(不分串口SATA、并口PATA)，x是linux的主目录“/”所在分区号，编号从0开始，比linux里显示的分区编号小1。比如 linux里显示硬盘分区号为hda5，这里x就是4。分区编号可以用菜单里的磁盘实在不知道是多少，就挨个试，到grub提示分区格式为ex2fs一般就是了。注意root (hd0,x)在root后面必须有空格。root命令是指定引导的分区，setup命令把引导信息写到硬盘MBR。 ]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=510</link>
			<title><![CDATA[搭建debian环境的C/C++研发环境]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[服务器技术]]></category>
			<pubDate>Tue,05 May 2009 14:33:24 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=510</guid>
		<description><![CDATA[需要准备好安装光盘，然后使用如下命令：<br/>利用 apt-get build-dep<br/>安装 Gnome 研发环境 ( 包括了 C ， Gtk ， Gnome 等 )<br/>apt-get build-dep gedit<br/>安装 KDE 研发环境 （ 包括了 C++ ， Qt ， KDE ）<br/>apt-get build-dep kate]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=509</link>
			<title><![CDATA[给网页上的Flash增加上超级链接和各种鼠标事件]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[设计艺术]]></category>
			<pubDate>Wed,15 Apr 2009 22:41:56 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=509</guid>
		<description><![CDATA[　　说到这个问题，可能有人就会说，那还不简单，直接用flash的ActionScript中的url方法不就搞定了，那么如果我们的UI人员设计完flash,但flash对应的链结还没有确定或者以后会变更怎么办？我需要的是能够在外部修改flash对应的链结。<br/><br/>　　那直接在flash所在的object元素外部加&lt;a&gt;&lt;/a&gt;标签来控制不就行了，可能有些人会这么想，思路正确，但是行不通。呵呵，怎么办？百度一下先，呵呵，真是相当佩服某些人的牛脑，真牛，下面是一种解决的方法：<br/><br/>　　首先，我们肯定是要先插入FLASH，因为Flash默认是最高层。所以，我经常会遇见Flash把下拉菜单挡住的情况。通过把Flash文件放到一个层中，使用CSS将该层设为最底层，FLASH设为透明。<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code97581);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.shuihan.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code97581><br/>&lt;div style=&#34;z-index:-1&#34;&gt; &lt;!--1.设置FLASH为底层--&gt;<br/>&lt;object classid=&#34;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#34; codebase=&#34;<a href="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" target="_blank" rel="external">http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab</a>#version=6,0,29,0&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;param name=&#34;movie&#34; value=&#34;media.swf&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;param name=&#34;quality&#34; value=&#34;high&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;embed src=&#34;media.swf&#34; quality=&#34;high&#34; pluginspage=&#34;<a href="http://www.macromedia.com/go/getflashplayer" target="_blank" rel="external">http://www.macromedia.com/go/getflashplayer</a>&#34; type=&#34;application/x-shockwave-flash&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;&lt;/embed&gt;<br/>&#160;&#160;&#160;&#160;&lt;param name=&#34;wmode&#34; value=&#34;transparent&#34;&gt;&lt;!--2.必须把FLASH设置为透明--&gt;<br/>&lt;/object&gt;<br/>&lt;/div&gt;<br/></div></div><br/>　　再接下来,就是在FLASH的层上再加上一层，Flash本身不能直接加入onclick等事件，所以，只能借助别的东西啦。就是在FLASH上加个透明层：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code31098);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.shuihan.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code31098>&lt;div id=&#34;huiLayer&#34; style=&#34;cursor: hand; position:absolute; left:0px; top:0px; width:200px; height:115px; z-index:1; visibility: visible;&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;a href=&#34;<a href="http://www.cnlk.com" target="_blank" rel="external">http://www.cnlk.com</a>&#34;&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;img src=&#34;blank.gif&#34; width=&#34;100&#34; height=&#34;100&#34; border=&#34;0&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;/a&gt;<br/>&lt;/div&gt;</div></div><br/>　　论坛上面给了一些解决方法，就是加个透明的层，但是，如果光有个透明层，还是不能接受事件的，更确切地说是一部分可以，一部分不可以，和FLASH部分重叠的那一部分不行。<br/><br/>　　为什么不行？说实话，我也不清楚，我是试验得出来的...当我把这个层的背景颜色设为任意一种时，不是透明时，发现可以接受事件了；在层上加了个超连接也可以.. 但是，这还不是我们要的结果。因为把整个&#34;精美&#34;的FLASH给遮盖了...所以，有&lt;img<br/>src=&#34;blank.gif&#34; width=&#34;100&#34; height=&#34;100&#34; border=&#34;0&#34;&gt;。我用PhotoShop做了个透明的图片blank.gif，大小多大都可以，我使用的是1像素高，1像素宽，但是必须是透明的！这样才不至于把底下的FLASH给遮盖住了。<br/><br/>　　试验了一下... 成功了... 分析一下：如果点击FLASH，其实是击中了FLASH上层的透明图片blank.gif图片，就可以接受很多事件啦，onclick、onmouseover、onmosueout ......给图片加个&lt;a&gt;&lt;/a&gt;超连接是再简单不过的事啦... 这样，以上的问题是不是都解决了，把事件都给blank.gif接受！<br/><br/>　　比如单击事件：&lt;div onclick=&#34;ok()&#34; id=&#34;huiLayer&#34; ...........<br/><br/>　　不管是坐火车，还是飞飞机，过年都得回家，所以方法还是有的，Flash本身还提供了一种方法，相当的好用，就是在Flash内部通过FSCommand调用外部的脚本，个人认为这种方法简单实用，可控能力强，具体用法，就不在这里多说了，你在网上搜FSCommand关键键字就会啊到很多实例，不过还是有一点提示：在提供javascript版本的调用方法时，最好也提供一个vbscript的版本，否则调用可能会不成功。]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=508</link>
			<title><![CDATA[WEB标准之CSS: 打造自己的reset.css]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[程序设计]]></category>
			<pubDate>Sat,11 Apr 2009 10:06:28 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=508</guid>
		<description><![CDATA[本文转载自：PHP5研究室&lt;<a href="http://www.phpv.net/html/1672.html" target="_blank" rel="external">http://www.phpv.net/html/1672.html</a>&gt;。<br/><br/>0，引言<br/><br/>　　每每有新项目，第一步就是应当使用一个reset.css来重置样式。滥用不如不用，直接拿个现成的reset.css过来将导致后期各种离奇bug的发生。<br/><br/>　　所以最好还是自己写一个reset.css，并且要明白每一条 reset都是用来做什么的。<br/><br/>　　reset.css本意就是重置样式，我始终建议把.clearfix放入layout.css,而把h1、h2之类的定义放进typography.css。 <br/><br/>　　具体如何规划网站CSS结构，不在文本讨论之列，可以参考Smashing Magazine上的文章，国内有差强人意的中文译版。 <br/><br/>　　注意，本文把reset分成了两个部分，一个是纯reset.css，可以用于任何项目。另一个是用于特定项目的“reset”，自定义修改的内容，这些内容可以放在layout.css、typography.css之类的文件中，他们共同导入到一个base.css形成一个项目的基础样式。<br/><br/>　　本文就是来介绍如何写一个合适所有项目的通用的reset.css，以及介绍在设置玩reset.css之后需要针对不同项目要首先要设置的内容。<br/><br/>1，基础<br/><br/>　　牛顿是站在巨人伽利略的肩膀上的，我们也可以这么做。首先我们要选定一个前进的基础。<br/><br/>　　请永远不要使用 <br/><br/>　　* { margin: 0; padding: 0; }<br/><br/>　　这问题太多了，在此不多加表述。<br/><br/>　　目前比较流行的有Eric Meyer的重置样式和YUI的重置样式。另有Condensed Meyer Reset简化Eric Meyer的样式。有趣的是，Eric的重置样式也是源于YUI的。而那份简化版又把Eric的样式简化回YUI的样式了 。但同时，糟糕的是，网上流传的比较广的(尤其是国内)都不是最新的版本。<br/><br/>　　上面两个页面里直接看到的都不是最新的，Eric专门为有一个reset.css页面。而YUI当前版本(2.7.0)的reset.css实际地址里，比上面的页面中还多一些东西。此外，我们还可以基于一些常见的框架，比较著名的比如Blueprint或者Elements CSS Framework（这个的reset也是源自于Eric Meyer的）。<br/><br/>　　OK，准备工作就差不多了。以上这些都可以作为参考资料来组织我们自己的reset。我这里主要采用YUI，兼带Eric的reset。<br/><br/>2，默认色彩<br/><br/>　　对于页面是不是有默认背景色和前景色，YUI和Eric有着不同的看法。<br/>　　YUI重置背景色为白色而文字颜色为黑色。<br/><br/>html {<br/>&nbsp;&nbsp;&nbsp;&nbsp;color: #000;<br/>&nbsp;&nbsp;&nbsp;&nbsp;background: #FFF;<br/>}<br/>　　而Eric在当前最新版中让所有颜色为透明，他认为透明才是最原始的颜色。虽然他曾一度认为也应当设置白色背景色、黑色文字颜色。至于最后为什么改了，Eric并没有给出具体理由。<br/><br/>　　这个问题我基本认为是用户自定义的更重要还是你的设计更重要的问题。我个人的观点是，如果你的设计本身就是白色背景，那么不要设置背景。一小部分中高水平的用户，他们会自定义网页默认背景色。<br/><br/>　　设置成他们喜欢的背景色，比如浅蓝色。基本常见的浏览器都提供了这个简单的功能。而我们的背景色重置则会破坏用户的选择——尽管这样能保证你的设计原汁原味的呈现给所有用户。当然我知道，更高端的用户会用Stylish之类的Firefox扩展来自定义页面。<br/><br/>　　但不得不说，只会用“选项”来调背景色的用户更多，不是么？而同时，如果设计本身就有其他背景色，比如黑色、蓝色、绿色之类的，OK，这些设计当然可以设置背景色。但请不要放进reset.css里。这里是重置样式的地方，不是你设计的地方。请把你的设计放在更广袤的土地上。<br/><br/><br/>　　所以，简单说来，NO，不要在reset中设置背景色。<br/><br/>　　那么，文字颜色呢？原则上来说，也是不应该设置文字颜色的。但是IE中的表单元素中legend这个对象比较特别，跟主题结合的比较紧密。legend会默认有自己的颜色（跟当前的主题有关）而不会继承父元素的颜色（即便设了color:inherit;）。<br/><br/><br/>　　从某些角度来说，可以想当然地认为设置字体颜色人数远小于设置背景色的人数；以及认为就算设置了背景色，人们看到legend元素是黑色的也不会觉得奇怪。因此，YUI在其reset中设置了legend {color: #000;}是无可厚非的。<br/><br/><br/>　　但反过来说，把这个放到typography.css或者form.css里岂不是更好？不同的页面设计，其对legend的色彩要求很可能是不同的，放在reset.css里重复定义是没有必要的。因此这条CSS规则可以作为在reset.css之后首先应当设置的规则。<br/><br/>3，padding和margin<br/><br/>　　曾经一度流行的* { margin: 0; padding: 0; }也就是出于这个目的。让各个元素的padding和margin都归零，尤其是那些h1和p以及ul/ol/li之类的元素，还有，body本身也是有margin的。清除元素的padding和margin是很有用的。<br/><br/>YUI这样做：<br/><br/>body, div, dl, dt, dd, ul, ol, li,<br/>h1, h2, h3, h4, h5, h6, pre, code,<br/>form, fieldset, legend, input, button,<br/>textarea, p, blockquote, th, td {<br/>&nbsp;&nbsp;&nbsp;&nbsp;margin: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;padding: 0;<br/>}<br/><br/>而Eric这样做：<br/><br/>html, body, div, span, applet, object, iframe,<br/>h1, h2, h3, h4, h5, h6, p, blockquote, pre,<br/>a, abbr, acronym, address, big, cite, code,<br/>del, dfn, em, font, img, ins, kbd, q, s, samp,<br/>small, strike, strong, sub, sup, tt, var,<br/>b, u, i, center,<br/>dl, dt, dd, ol, ul, li,<br/>fieldset, form, label, legend,<br/>table, caption, tbody, tfoot, thead, tr, th, td {<br/>&nbsp;&nbsp;&nbsp;&nbsp;margin: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;padding: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;border: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;outline: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-size: 100%;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vertical-align: baseline;<br/>&nbsp;&nbsp;&nbsp;&nbsp;background: transparent;<br/>}<br/><br/>　　可以看到，Eric把几乎所有的元素都写上了规则。而YUI只把有padding和margin的元素清空样式，而其他元素则不动。我个人比较偏好 YUI的做法，因为他这样可以避免给一些无关元素带上不必要的样式。导致元素过多时的性能下降。但Eric的也有可取之处，他这样写，整个 reset.css可以小上不少字节。对服务器的压力会小一些。你怎么用呢？看你自己喜好了。<br/><br/>4，边框<br/><br/>YUI里：<br/><br/>fieldset, img {<br/>&nbsp;&nbsp;&nbsp;&nbsp;border: 0;<br/>}<br/>abbr, acronym {<br/>&nbsp;&nbsp;&nbsp;&nbsp;border: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-variant: normal;<br/>}<br/><br/>　　Eric已经在上一条中把所有的边框都清掉了，还是推荐用YUI的，理由同上。<br/><br/>5，外边框<br/><br/>　　这个就是元素获取焦点时的虚线框，在ie之外的浏览器上可以像下面Eric做的那样，通过设置outline来消除。<br/><br/>/* remember to define focus styles! */<br/>:focus {<br/>&nbsp;&nbsp;&nbsp;&nbsp;outline: 0;<br/>}<br/><br/>　　而YUI则没有设置这一条。而在Eric的样式中，可以看到Eric的提醒：务必重新定义获取焦点后的样式！<br/>这点其实很重要，出于可访问性的角度出发，那些不便于使用鼠标的人基本上都是用tab导航来浏览网页的。获取焦点的元素有特定样式的话可以极大帮助这类群体的用户。<br/><br/>　　从通用性角度来说，YUI那样不加这条比较好，毕竟没多少人会自定义焦点样式。但从一个reset.css来说，应当还是加上去比较好。毕竟是为了重置所有样式而写的reset.css，不能留下缺憾。因此这条可以作为reset.css之后及早定义的规则。<br/><br/>6，字体样式(font style/weight/size/variant)<br/><br/>YUI里，分成了多条：<br/><br/>address, caption, cite, code, dfn,<br/>em, strong, th, var, optgroup {<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-style: inherit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-weight: inherit;<br/>}<br/> <br/>h1, h2, h3, h4, h5, h6 {<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-size: 100%;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-weight: normal;<br/>}<br/>abbr, acronym {<br/>&nbsp;&nbsp;&nbsp;&nbsp;border: 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-variant: normal;<br/>}<br/> <br/>input, button, textarea,<br/>sel&#101;ct, optgroup, option {<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-family: inherit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-size: inherit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-style: inherit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-weight: inherit;<br/>}<br/> <br/>/*@purpose To enable resizing for IE */<br/>/*@branch For IE6-Win, IE7-Win */<br/>input, button, textarea, sel&#101;ct {<br/>&nbsp;&nbsp;&nbsp;&nbsp;*font-size: 100%;<br/>}<br/><br/>　　Eric则在他最终版的reset中去掉了关于这些的样式重置，只保留了 font-size: 100%; 同样他没有给出具体理由。<br/>但通常情况下，我认为还是重置一下这些样式好，比如strong元素，很多时候只是语义而已，并非希望他真的加粗。可能会有背景色或者其他方式来强调。<br/><br/>　　而之所以这里都用了inherit这个继承属性而不是定义 font-weight: normal; 可以在 Eric 先前的reset文章中看到。这是为了防止——父元素字体加粗了，而没有一个子元素继承加粗属性（因为设置了normal）——这种情况的发生。<br/><br/>　　此外，对于h1-h6的字体大小定义，建议放到专门的typography.css里，不建议放在reset.css里。所以这里我同样倾向于用YUI的策略，全部重置。<br/><br/>7，行高(line-height)<br/><br/>对于行高，YUI并没有给出重置定义，而Eric则给出了重置：<br/><br/>body {<br/>&nbsp;&nbsp;&nbsp;&nbsp;line-height: 1;<br/>}<br/><br/>　行高默认所有元素都会继承的，所以给body设置行高为1就足够了。通常行高设为1时候，英文照常阅读，但中文就无法阅读了，行间距过于紧密导致容易看错行。通常在中文环境下得设置1.4到1.5才能是用户正常阅读。<br/><br/>　　我建议是1.5，这样算出来的值也是整数。比如字体大小12px的时候行高是 18px，字体大小16px时行高24px。看起来也会比较舒服。<br/><br/>8，列表样式<br/>YUI用了：<br/><br/>li {<br/>&nbsp;&nbsp;&nbsp;&nbsp;list-style: none;<br/>}<br/>Eric用了：<br/><br/>ol, ul {<br/>&nbsp;&nbsp;&nbsp;&nbsp;list-style: none;<br/>}<br/><br/>　　尽管我没有测试出YUI的有什么问题，但我始终觉得设置ol和ul会比较稳妥。而且，波及的元素更少，性能应该更高一点。虽然下载量会多3字节。<br/><br/>9，表格元素<br/><br/>在表格方面，都比较统一。均是：<br/><br/>/* tables still need &#39;cellspacing=&#34;0&#34;&#39; in the markup */<br/>table {<br/>&nbsp;&nbsp;&nbsp;&nbsp;border-collapse: collapse;<br/>&nbsp;&nbsp;&nbsp;&nbsp;border-spacing: 0;<br/>}<br/>Eric还提醒到，需要在html中设置cellspacing=”0″ 来达到完美重置效果~<br/>但此外YUI还设置了 <br/><br/>caption, th {<br/>&nbsp;&nbsp;&nbsp;&nbsp;text-align: left;<br/>}<br/>让caption和th元素不要居中。作为重置，是可取的。建议添加此规则。<br/><br/>10，上下标以及baseline<br/>YUI写成<br/><br/>sup {<br/>&nbsp;&nbsp;&nbsp;&nbsp;vertical-align: baseline;<br/>}<br/> <br/>sub {<br/>&nbsp;&nbsp;&nbsp;&nbsp;vertical-align: baseline;<br/>}<br/>似乎没有优化，不知道为何没有写到一起去。而Eric则在最开始那条中就已经定义。而其中的问题是，YUI这样定义了，但没有重置字体大小，这点是有所遗憾的。既然是重置样式，就彻底一些，所以建议改成这样的：<br/><br/>sup, sub {<br/>&nbsp;&nbsp;&nbsp;&nbsp;font-size: 100%;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vertical-align: baseline;<br/>}<br/>同样对于Eric把所有元素都放到了Baseline上，包括上标下标。Eric的解释是，强制让设计师精确定位这些元素的垂直偏移。<br/><br/>11，插入和删除(ins/del)<br/>对于这个问题，YUI直接清除了ins的下划线和del的删除线这两个文本装饰：<br/><br/>del, ins {<br/>&nbsp;&nbsp;&nbsp;&nbsp;text-decoration: none;<br/>}<br/>而Eric保留了删除线：<br/><br/>/* remember to highlight ins&#101;rts somehow! */<br/>ins {<br/>&nbsp;&nbsp;&nbsp;&nbsp;text-decoration: none;<br/>}<br/>del {<br/>&nbsp;&nbsp;&nbsp;&nbsp;text-decoration: line-through;<br/>}<br/>　　如何取舍？我选择Eric的，为什么我这里不追求完美的样式重置了呢？很简单，我这个reset的目标是为了让我们写页面的时候尽量避免浏览器默认样式，以及不同浏览器之间默认样式差异带来的问题。而del元素删除线的文本装饰，我相信没有人会反对的。有人会加上其他样式，比如字体变淡之类的，但对于del如此强语义的元素来说，没有什么比用删除线更能表达含义的了。而不像上面那个focus样式，未必人人喜欢虚线框。<br/>所以，这里我考虑采纳Eric的重置样式。同时别忘了给ins元素在等下也添加一些样式。<br/><br/>12，引用元素的引号<br/><br/>某些浏览器中，q或者blockquote前后会出现引号。这个并不是谁都喜欢的。所以需要重置他。<br/>YUI的比较简单，只重置了q：<br/><br/>q:before,<br/>q:after {<br/>&nbsp;&nbsp;&nbsp;&nbsp;content: &#39;&#39;;<br/>}<br/>而Eric则比较周到，把q和blockquote都重置了。<br/><br/>blockquote, q {<br/>&nbsp;&nbsp;&nbsp;&nbsp;quotes: none;<br/>}<br/>blockquote:before, blockquote:after,<br/>q:before, q:after {<br/>&nbsp;&nbsp;&nbsp;&nbsp;content: &#39;&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;content: none;<br/>}<br/>OK，就决定用Eric的了，对于样式重置，细致一点周到一点总没有错。]]></description>
		</item>
		
			<item>
			<link>http://www.shuihan.com/article.asp?id=507</link>
			<title><![CDATA[Apache2 httpd.conf配置中文版]]></title>
			<author>xqlu@shuihan.com(水寒)</author>
			<category><![CDATA[生活笔记]]></category>
			<pubDate>Sat,11 Apr 2009 09:59:49 +0800</pubDate>
			<guid>http://www.shuihan.com/default.asp?id=507</guid>
		<description><![CDATA[文章分类：PHP安装配置 <br/>#<br/># 基于 NCSA 服务的配置文件。<br/>#<br/>#这是Apache服务器主要配置文件。<br/>#它包含服务器的影响服务器运行的配置指令。<br/>#参见&lt;URL:<a href="http://httpd.ache.org/doc-2.0/" target="_blank" rel="external">http://httpd.ache.org/doc-2.0/</a>&gt;以取得关于这些指令的详细信息<br/>#<br/>#不要只是简单的阅读这些指令信息而不去理解它。<br/>#这里只是做了简单的说明，如果你没有参考在线文件，你就会被警告。<br/>#<br/>#这些配置指令被分为下面三个部分：<br/>#1. 控制整个Apache服务器行为的部分（即全局环境变量）<br/>#2. 定义主要或者默认服务参数的指令，也为所有虚拟主机提供默认的设置参数<br/>#3. 虚拟主机的设置参数<br/>#<br/>#配置和日志文件名：如果你指定的文件名以“/”开始（win32下以“dirver:/”），<br/>#服务器将使用绝对路径，如果文件名不是以“/”开始的，那么它将把ServerRoot<br/>#的值附加在文件名的前面，例如，对“logs/foo.log&#34;，如果ServerRoot的值<br/>#为“/usr/local/apache2”，则该文件应为“/usr/local/apache2/logs/foo.log”<br/>#<br/>##第一区：全局环境参数<br/>#<br/>#这里设置的参数将影响整个Apache服务器的行为；<br/>#例如Apache能够处理的并发请求的数量等。<br/>#<br/>#ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。<br/>#<br/>#注意！如果你想要将它指定为NFS或其它网络上的位置，<br/>#请一定要去阅读与LockFile有关的文档（可能在<br/>#&lt;URL:<a href="http://httpd.apache.org/docs-2.0/mod/mpm_common.html" target="_blank" rel="external">http://httpd.apache.org/docs-2.0/mod/mpm_common.html</a>#lockfile&gt;)。<br/>#这将会使你自己也能解决很多问题。<br/>#<br/>#路径的结尾不要添加斜线。<br/>#<br/>ServerRoot &#34;/usr/loacl/apache2&#34;<br/>#<br/>#串行访问的锁文件必须保存在本地磁盘上<br/>#<br/>&lt;IfModule !mpm_winnt.c&gt;<br/>&lt;IfModule !mpm_neware.c&gt;<br/>#LockFile logs/accept.lock<br/>&lt;/IfModule&gt;<br/>&lt;/IfModule&gt;<br/><br/>#ScoreBoardFile:用来保存内部服务进程信息的文件。<br/>#如果未指明（默认），记分板（scoreboard）将被保存在一个匿名的共享内存段中，<br/>#并且它不能被第三方软件所使用。<br/>#如果指定了，要确保不能使用两个Apache使用同一个记分板文件，<br/>#这个记分板文件必须保存在本地磁盘上。<br/>#<br/>&lt;IfModule !mpm_netware.c&gt;<br/>&lt;IfModule !perchild.c&gt;<br/>#ScoreBoardFile logs/apache_runtime_status<br/>&lt;IfModule&gt;<br/>&lt;IfModule&gt;<br/><br/>#<br/>#PidFile:记录服务器启动进程号的文件。<br/>#<br/>&lt;IfModule !mpm_neware.c&gt;<br/>PidFile logs/httpd.pid<br/>&lt;/IfModule&gt;<br/><br/>#<br/>#Timeout:接收和发送前超时秒数<br/>#<br/>Timeout 300<br/><br/>#<br/>#KeepAlive:是否允许稳固的连接（每个连接有多个请求），<br/>#设为&#34;Off&#34;则停用。<br/>#<br/>KeepAlive On<br/><br/>#<br/>#MaxKeepAliveRequests:在稳固连接期间允许的最大请求数，<br/>#设为0表示无限制接入。<br/>#我们推荐你将其设为一个较大的值，以便提高性能<br/>MaxKeepAliveRequests 100<br/><br/>#<br/>#KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数<br/>#<br/>KeepAliveTimeout 15<br/><br/>##<br/>##Server-Pool大小设定（针对MPM的）<br/>##<br/><br/># prefork MPM<br/># StartServers:启动时服务器启动的进程数<br/># MinSpareServers:保有的备用进程的最小数目<br/># MaxSpareServers:保有的备用进程的最大数目<br/># MaxClients:服务器允许启动的最大进程数<br/># MaxRequestsPerChild:一个服务进程允许的最大请求数<br/>&lt;IfModule prefork.c&gt;<br/>StartServers 5<br/>MinSpareServers 5<br/>MaxSpareServers 10<br/>MaxClients 150<br/>MaxRequestPerChild 0<br/>&lt;/IfModule&gt;<br/><br/># worker MPM<br/># StartServers:服务器启动时的服务进程数目<br/># MaxClients:允许同时连接的最大用户数目<br/># MinSpareThreads:保有的最小工作线程数目<br/># MaxSpareThreads:允许保有的最大工作线程数目<br/># ThreadsPerChild:每个服务进程中的工作线程常数<br/># MaxRequestsPerChild:服务进程中允许的最大请求数目<br/>&lt;IfModule worker.c&gt;<br/>StartServers 2<br/>MaxClients 150<br/>MinSpareThreads 25<br/>MaxSpareThreads 75<br/>ThreadsPerChild 25<br/>MaxRequestsPerChild 0<br/>&lt;/IfModule&gt;<br/><br/># perchild MPM<br/># NumServers:服务进程数量<br/># StartThreads:每个服务进程中的起始线程数量<br/># MinSpareThreads:保有的最小线程数量<br/># MaxSpareThreads:保有的最大线程数量<br/># MaxThreadsPerChild:每个服务进程允许的最大线程数<br/># MaxRequestsPerChild:每个服务进程允许连接的最大数量<br/>&lt;IfModule perchild.c&gt;<br/>NumServers 5<br/>StartThreads 5<br/>MinSpareThreads 5<br/>MaxSpareThreads 10<br/>MaxThreadsPerChild 20<br/>MaxRequestsPerChild 0<br/>&lt;/IfModule&gt;<br/><br/># WinNT MPM<br/># ThreadsPerChild:服务进程中工作线程常数<br/># MaxRequestsPerChild:服务进程允许的最大请求数<br/>&lt;IfModule mpm_winnt.c&gt;<br/>ThreadsPerChild 250<br/>MaxRequestsPerChild 0<br/>&lt;/IfModule&gt;<br/><br/># BeOS MPM<br/># StartThreads:服务器启动时启动的线程数<br/># MaxClients:可以启动的最大线程数（一个线程等于一个用户）<br/># MaxRequestsPerThread:每个线程允许的最大请求数<br/>&lt;IfModule beos.c&gt;<br/>StartThreads 10<br/>MaxClients 50<br/>MaxRequestsPerThread 10000<br/>&lt;/IfModule&gt;<br/><br/># NetWare MPM<br/># ThreadStachSize:为每个工作线程分配的堆栈尺寸<br/># StartThreads:服务器启动时启动的线程数<br/># MinSpareThreads:用于处理实发请求的空闲线程数<br/># MaxSpareThreads:空闲线程的最大数量<br/># MaxThreads:在同一时间活动的最大线程数<br/># MaxRequestPerChild:一个线程服务请求的最大数量，<br/># 推荐将其设置为0，以实现无限制的接入<br/>&lt;IfModule mpm_netware.c&gt;<br/>ThreadStackSize 65536<br/>StartThreads 250<br/>MinSpareThreads 25<br/>MaxSpareThreads 250<br/>MaxThreads 1000<br/>MaxRequestPerChild 0<br/>&lt;/IfModule&gt;<br/><br/># OS/2 MPM<br/># StartServers:启动的服务进程数量<br/># MinSpareThreads:每个进程允许的最小空闲线程<br/># MaxSpareThreads:每个进程允许的最大空闲线程<br/># MaxRequestsPerChild:每个服务进程允许的最大连接数<br/>&lt;IfModule mpmt_os2.c&gt;<br/>StartServers 2<br/>MinSpareThreads 5<br/>MaxSpareThreads 10<br/>MaxRequestsPerChild 0<br/>&lt;/IfModule&gt;<br/><br/>#<br/># Listen:允许你绑定Apache服务到指定的IP地址和端口上，以取代默认值<br/># 参见&lt;VirtualHost&gt;指令<br/># 使用如下命令使Apache只在指定的IP地址上监听，<br/># 以防止它在IP地址0.0.0.0上监听<br/>#<br/># Listen 12.34.56.78:80<br/><br/>Listen 80<br/><br/>#<br/># 动态共享支持（DSO）<br/>#<br/># 为了能够使用那些以DSO模式编译的模块中的函数，你必须有相应的“LoadModule”行，<br/># 因此，在这里包含了这些指令，以便能在使用它之前激活。<br/># 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块)<br/>#<br/># 示例：<br/># LoadModule foo_module modules/mod_foo.so<br/>#<br/><br/>#<br/># ExtendedStatus：当调用“server-status”时，控制Apache是产生“全”状态<br/># 信息（ExtendedStatus On），还是产生基本信息（ExtendedStatus Off）。<br/># 默认为off<br/>#<br/># ExtendedStatus On<br/><br/>### 第二区：“主”服务配置<br/>#<br/># 这一区建立被 “主” 服务器用的指令值,以回应那些不被 &lt;VirtualHost&gt;<br/># 定义处理的任何请求。<br/># 这些数值也提供默认值给后面定义的&lt;VirtualHost&gt;容器。<br/># 如果&lt;VirtualHost&gt;中有定义，那么这里定义的指令值将被<br/># &lt;VirtualHost&gt;中的定义所覆盖。<br/>#<br/><br/>&lt;IfModule !mpm_winnt.c&gt;<br/>&lt;IfModule !mpm_neware.c&gt;<br/>#<br/># 如果你想使httpd以另外的用户或组来运行，你必须在开始时以root方式启动<br/># 然后再将它切换为你想要使用的用户或组。<br/>#<br/># User/Group:运行httpd的用户和组<br/># 在SCO (ODT3)上使用“User nouser”和“Group nogroup”<br/># 在HPUX上，你可能不能以nobody身份使用共享内存，建议创建一个www用户。<br/># 注意一些核心（kernel）在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET)，<br/>#节在这些系统上不要使用“Group #-1”。<br/>#<br/>User nobody<br/>Group #-1<br/>&lt;/IfModule&gt;<br/>&lt;/IfModule&gt;<br/><br/>#<br/># ServerAdmin:你的邮件地址，当发生问题时Apache将向你发出邮件。<br/># 作为一个出错文档，这个地址显示在server-generated页上，<br/># 例如：admin@your-domain.com<br/>#<br/>ServerAdmin kreny@sina.com<br/><br/>#<br/># ServerName指定Apache用于识别自身的名字和端口号。<br/># 通常这个值是自动指定的，但是我们推荐你显式的指定它以防止启动时出错<br/>#<br/># 如果你为你的主机指定了一个无效的DNS名，server-generated重定向将不能工作。<br/># 参见UseCanonicalName指令<br/>#<br/># 如果你的主机没有注册DNS名，在这里键入它的IP地址<br/># 无论如何，你必须使用它的IP地址来提供服务，<br/># 这里使用一种容易理解的方式重定向服务<br/>ServerName www.dalouis.com:80<br/><br/>#<br/># UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。<br/># 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。<br/># 当设置为“On”,Apache会使用ServerName指令的值。<br/>#<br/>UseCanonicalName Off<br/><br/>#<br/># DocumentRoot:你的文档的根目录。默认情况下，所有的请求从这个目录进行应答。<br/># 但是可以使用符号链接和别名来指向到其他的位置。<br/>#<br/>DocumentRoot &#34;/home/redhat/public_html&#34;<br/><br/>#<br/># Apache可以存取的每个目录都可以配置存取权限（包括它的子目录）。<br/>#<br/># 首先，我们配置一个高限制的特征。<br/><br/># 这将禁止访问文件系统所在的目录，并添加你希望允许访问的目录块。<br/># 如下所示<br/>&lt;Directory /&gt;<br/>o&#114;der Deny,Allow<br/>Deny from all<br/>&lt;/Directory&gt;<br/><br/>#<br/># 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。<br/># - 所以，如果Apache没有象你所期待的那样工作的话,<br/># 请检查你是否在下面明确的指定它可用。<br/>#<br/><br/>#<br/># 这将改变到你设置的DocumentRoot<br/>#<br/>&lt;Directory &#34;/home/redhat/public_html&#34;&gt;<br/><br/>#<br/># Options：这个指令的值可以是“None”，“All”，或者下列选项的任意组合：<br/># Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews<br/>#<br/># 注意，“MultiViews”必须被显式的指定，“Options All”不能为你提供这个特性。<br/>#<br/># 这个指令既复杂又重要，请参见<br/>#“<a href="http://httpd.apache.org/docs-2.0/mod/core.html" target="_blank" rel="external">http://httpd.apache.org/docs-2.0/mod/core.html</a>#optioins”以取得更多的信息。<br/>#<br/>Options FollowSymLinks<br/><br/>#<br/># AllowOverride控制那些被放置在.htaccess文件中的指令。<br/># 它可以是“All”，“None”，或者下列指令的组合：<br/># Options FileInfo AuthConfig Limit<br/>#<br/>AllowOverride None<br/><br/>#<br/># 控制谁可以获得服务。<br/>#<br/>o&#114;der allow,deny<br/>Allow from all<br/><br/>&lt;/Directory&gt;<br/><br/>#<br/># UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。<br/>#<br/><br/>UserDir public_html<br/><br/># 为防止在UserDir指令上的漏洞，对root用户设置<br/># 象“./”这样的UserDir是非常有用的。<br/># 如果你使用Apache 1.3或以上版本，我们强烈建议你<br/># 在你的服务器配置文件中包含下面的行<br/><br/>UserDir disabled root<br/><br/>#<br/># 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例：<br/>#<br/># &lt;Directory /home/*/public_html&gt;<br/># AllowOverride FileInfo AuthConfig Limit Indexes<br/># Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec<br/># &lt;Limit GET POST OPTIONS PROPFIND&gt;<br/># o&#114;der allow,deny<br/># Allow from all<br/># &lt;/Limit&gt;<br/># &lt;LimitExcept GET POST OPTIONS PROPFIND&gt;<br/># o&#114;der deny,allow<br/># Deny from all<br/># &lt;/LimitExcept&gt;<br/># &lt;/Directory&gt;<br/><br/>#<br/># DirectoryIndex:定义请求是一个目录时，Apache向用户提供服务的文件名<br/>#<br/># index.html.var文件（一个类型映象文件）用于提供一个文档处理列表，<br/># 出于同样的目的，也可以使用MultiViews选项，但是它会非常慢。<br/>#<br/>DirectoryIndex index.php index.html index.html.var<br/><br/>#<br/># AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。<br/># 参见AllowOverride指令。<br/>#<br/>AccessFileName .htaccess<br/><br/>#<br/># 下面的行防止.htaccess和.htpasswd文件被Web客户查看。<br/>#<br/>&lt;Files ~ &#34;^\.ht&#34;&gt;<br/>o&#114;der allow,deny<br/>Deny from all<br/>&lt;/Files&gt;<br/><br/>#<br/># Typeconfig:定义在哪里查询mime.types文件。<br/>#<br/>TypeConfig conf/mime.types<br/><br/>#<br/># DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。<br/># 如果你的服务主要包含text或HTML文档，“text/plain”是一个好的选择；<br/># 如果大多是二进制文档，诸如软件或图像，你应使用<br/># “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。<br/>#<br/>DefaultType text/plain<br/><br/>#<br/># mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索（hints），<br/># 这个MIMEMagicFile指令定义hints定义所在的文件。<br/>#<br/>&lt;IfModule mod_mime_magic.c&gt;<br/>MIMEMagicFile conf/magic<br/>&lt;/IfModule&gt;<br/><br/>#<br/># HostnameLookups：指定记录用户端的名字还是IP地址，例如，本指令为on时<br/># 记录主机名，如www.apache.org；为off时记录IP地址，204.62.129.132。<br/># 默认值为off，这要比设为on好得多，因为如果设为on则每个用户端请求都将会<br/># 至少造成对 nameserver 进行一次查询。<br/>#<br/>HostnameLookups Off<br/><br/>#<br/># EnableMMAP:控制是否进行内存转储（如果操作系统支持的话）。<br/># 默认为on，如果你的服务器安装在网络文件系统上（NFS），请关闭它。<br/># 在一些系统上，关闭它会提升系统性能（与文件系统类型无关）；<br/># 具体情况请参阅<a href="http://httpd.apache.org/docs-2.0/mod/core.html" target="_blank" rel="external">http://httpd.apache.org/docs-2.0/mod/core.html</a>#enablemmap<br/>#<br/># EnableMMAP off<br/><br/>#<br/># EnableSendfile:控制是否使用sendfile kernel支持发送文件<br/># （如果操作系统支持的话）。默认为on，如果你的服务器安装在网络文件系统<br/># （NFS）上，请你关闭它。<br/># 参见<a href="http://httpd.apache.org/docs-2.0/mod/core.html" target="_blank" rel="external">http://httpd.apache.org/docs-2.0/mod/core.html</a>#enablesendfile<br/>#<br/># EnableSendfile off<br/><br/>#<br/># ErrorLog:错误日志文件定位。<br/># 如果你没有在&lt;VirtualHost&gt;内定义ErrorLog指令，这个虚拟主机的错误信息<br/># 将记录在这里。如果你在那儿定义了ErrorLog，这些错误信息将记录在你所<br/># 定义的文件里，而不是这儿定义的文件。<br/>#<br/>ErrorLog logs/error_log<br/><br/>#<br/># LogLevel:控制记录在错误日志文件中的日志信息数量。<br/># 可能的值包括：debug，info，notice，warn，error，crit，alert，emerg。<br/>#<br/>LogLevel warn<br/><br/>#<br/># 下面的指令为CustomLog指令定义格式别名。<br/>#<br/>LogFormat &#34;%h %l %u %t \&#34;%r\&#34; %&gt;s %b \&#34;%{Referer}i\&#34; \&#34;%{User-Agent}i\&#34;&#34; combined<br/>LogFormat &#34;%h %l %u %t \&#34;%r\&#34; %&gt;s %b&#34; common<br/>LogFormat &#34;%{Referer}i -&gt; %U&#34; referer<br/>LogFormat &#34;%{User-agent}i&#34; agent<br/><br/># 你需要安装了mod_logio.c模块才能使用%I和%O。<br/># LogFormat &#34;%h %l %u %t \&#34;%r\&#34; %&gt;s %b \&#34;%{Referer}i\&#34; \&#34;%{User-Agent}i\&#34; %I %O&#34; combinedio<br/><br/>#<br/># 指定接入日志文件的定位和格式（一般日志格式）。<br/># 如果你没有在&lt;VirtualHost&gt;内定义这个指令，传输信息将记录在这里，<br/># 如果你定义了这个指令，则记录在你指定的位置，而不是这儿定义的位置。<br/>#<br/>CustomLog logs/access_log common<br/><br/>#<br/># 如果你想要记录agent和referer信息，可以使用下面的指令<br/>#<br/># CustomLog logs/referer_log referer<br/># CustomLog logs/agent_log agent<br/><br/>#<br/># 如果你想要使用一个文件记录access，agent和referer信息，<br/># 你可以如下定义这个指令：<br/>#<br/># CustomLog logs/access_log combined<br/><br/>#<br/># ServerTokens<br/># 这个指令定义包含在HTTP回应头中的信息类型。默认为“Full”，<br/># 这表示在回应头中将包含模块中的操作系统类型和编译信息。<br/># 可以设为列各值中的一个：<br/># Full | OS | Minor | Minimal | Major | Prod<br/># Full传达的信息最多，而Prod最少。<br/>#<br/>ServerTokens Full<br/><br/>#<br/># 随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中<br/># （内部错误文档，FTP目录列表，mod_status和mod_info输出等等，除了CGI错误<br/># 或自定义的错误文档以外）。<br/># 设为“EMail”将包含一个指向ServerAdmin的mailto:连接。<br/># 可以为如下值：On | Off | EMail<br/>#<br/>ServerSignature On<br/><br/>#<br/># Aliases:在这时添加你需要的别名，格式如下：<br/># Alias 别名 真实名<br/>#<br/># 注意，如果你在别名的未尾包含了“/”，那么在URL中也需要包含“/”。<br/># 因此，“/icons”不是这个示例中的别名。<br/># 如果别名中以“/”结尾，那么真实名也必须以“/”结尾，<br/># 如果别名中省略了结尾的“/”，那么真实名也必须省略。<br/>#<br/># 我们使用别名“/icons/”来表示FancyIndexed目录列表，如果你不使用、<br/># FancyIndexing，你可以注释掉它。<br/>#<br/># Alias /icons/ &#34;/usr/local/apache2/icons/&#34;<br/><br/># &lt;Directory &#34;/usr/local/apache2/icons&#34;&gt;<br/># Options Indexes MultiViews<br/># AllowOverride None<br/># o&#114;der allow,deny<br/>## Allow from all<br/># &lt;/Directory&gt;<br/><br/>#<br/># 这将改变ServerRoot/manual。这个别名提供了手册页所在的位置，<br/># 即使你改变了你的DocumentRoot。如果你对有无手册页并不在意的话，<br/># 你可以注释掉它。<br/>#<br/>Alias /manual &#34;/usr/loacl/apache2/manual&#34;<br/><br/>&lt;Directory &#34;/usr/local/apache2/manual&#34;&gt;<br/>Options Indexes FollowSymLinks MultiViews IncludesNoExec<br/>AddOutputFilter Includes html<br/>o&#114;der allow,deny<br/>Allow from all<br/>&lt;/Directory&gt;<br/><br/>#<br/># ScriptAlias:指定包含服务脚本的目录。<br/># ScriptAliases 本质上与Aliases一样，除了这里的文档在请求时做为程序处理处理以外。<br/># 尾部的“/”规则与Alias一样<br/>#<br/>ScriptAlias /cgi-bin/ &#34;/usr/loacl/apache2/cgi-bin/&#34;<br/><br/># 这里是添加php 4支持的指令<br/>AddType application/x-httpd-php .php<br/>LoadModule php4_module modules/libphp4.so<br/><br/>&lt;IfModule mod_cgid.c&gt;<br/>#<br/># 添加mod_cgid.c设置，mod_cgid提供使用cgid进行通讯的UNIX套接字的<br/># 脚本接口路径。<br/>#<br/># Scriptsock logs/cgisock<br/>&lt;/IfModule&gt;<br/><br/>#<br/># 将&#34;/usr/local/apache2/cgi-bin&#34;改为你的ScriptAliased指定的CGI目录，<br/># 如果你配置了的话。<br/>#<br/>&lt;Directory &#34;/usr/local/apache2/cgi-bin&#34;&gt;<br/>AllowOverride None<br/>Options None<br/>o&#114;der allow,deny<br/>Allow from all<br/>&lt;/Directory&gt;<br/><br/>#<br/># Redirect允许你告诉客户端使用存在于服务器名字空间中的文档，<br/># 而不是现在的，这帮助客户定位那些改变了位置的文档。<br/># 例如：<br/># Redirect permanent /foo <a href="http://www.example.com/bar" target="_blank" rel="external">http://www.example.com/bar</a><br/><br/>#<br/># 控制server-generated目录列表显示的指令<br/>#<br/><br/>#<br/># IndexOptions:控制server-generated目录列表显示特征。<br/>#<br/>IndexOptions FancyIndexing VersionSort<br/><br/>#<br/># AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示，<br/># 只适用于FancyIndexed指令<br/>#<br/>AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip<br/>AddIconByType (TXT,/icons/text.gif) text/*<br/>AddIconByType (IMG,/icons/image2.gif) image/*<br/>AddIconByType (SND,/icons/sound2.gif) audio/*<br/>AddIconByType (VID,/icons/movie.gif) video/*<br/><br/>AddIcon /icons/binary.gif .bin .exe<br/>AddIcon /icons/binhex.gif .hqx<br/>AddIcon /icons/tar.gif .tar<br/>AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv<br/>AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip<br/>AddIcon /icons/a.gif .ps .ai .eps<br/>AddIcon /icons/layout.gif .html .shtml .htm .pdf<br/>AddIcon /icons/text.gif .txt<br/>AddIcon /icons/c.gif .c<br/>AddIcon /icons/p.gif .pl .py<br/>AddIcon /icons/f.gif .for<br/>AddIcon /icons/dvi.gif .dvi<br/>AddIcon /icons/uuencoded.gif .uu<br/>AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl<br/>AddIcon /icons/tex.gif .tex<br/>AddIcon /icons/bomb.gif core<br/><br/>AddIcon /icons/back.gif ..<br/>AddIcon /icons/hand.right.gif README<br/>AddIcon /icons/folder.gif ^^DIRECTORY^^<br/>AddIcon /icons/blank.gif ^^BLANKICON^^<br/><br/>#<br/># DefaultIcon 为那些没有显式定义图标的文件提供处理<br/>#<br/>DefaultIcon /icons/unknown.gif<br/><br/>#<br/># AddDescription允许你在server-generated索引后放置一个简短的说明。<br/># 只对FancyIndexed指令有效。<br/># 格式：AddDescription &#34;说明&#34; 文件名<br/>#<br/># AddDescription &#34;GZIP compressed document&#34; .gz<br/># AddDescription &#34;tar archive&#34; .tar<br/># AddDescription &#34;GZIP compressed tar archive&#34; .tgz<br/><br/>#<br/># ReadmeName指定服务器默认查找的README文件的名字，并添加到目录列表中<br/>#<br/># HeaderName指定目录列表前缀文件的文件名<br/>ReadmeName README.html<br/>HeaderName HEADER.html<br/><br/>#<br/># IndexIgnore指定目录索引忽略并且不包含在列表中的文件名集合，<br/># 支持shell类型的通配符。<br/>#<br/>IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t<br/><br/>#<br/># AddEncoding允许你在信息传送中使用(Mosaic/X 2.1+)解压缩信息，<br/># 注意：不是所有的浏览器都支持这个选项。<br/># 尽管名字相似，但是下列的指令与上面的FancyIndexing定制指令不同。<br/>#<br/>AddEncoding x-compress Z<br/>AddEncoding x-gzip gz tgz<br/><br/>#<br/># DefaultLanguage和AddLanguage允许你指定文档的语言。<br/># 这使你可以让用户用容易理解的语言浏览文档。<br/>#<br/># 指定默认的语言，这意味着所有没有指定语言的包都将使用该语言。<br/># 多数情况下，你也许并不想设置它，除非你确信这样做是正确的。<br/># 通常，不使用确定的语言比使用错误的语言要好。<br/>#<br/># DefaultLanguage nl<br/>#<br/># 注意1：作为语言关键字的词缀毫无疑问是不能一样的--采用波兰<br/># 文的文档（网络标准语言代码是pl）将希望使用“AddLanguage pl .po”<br/># 来避免与perl脚本的一般词缀产生二义性。<br/>#<br/># 注意2: 下面的例子举例说明在一些范例中语言的二字符缩写与它的国家<br/># 的二字符缩写不相同,例如 “Danmark/dk” 和 “Danmark/da” 的比较.<br/>#<br/># 注意3: 在 “ltz” 的情况下我们使用三字符词缀，违犯了 RFC的规定，<br/># 运行中将修复它并使用RFC1766标准取得参考数据。<br/>#<br/># Danish (da) - Dutch (nl) - English (en) - Estonian (et)<br/># French (fr) - German (de) - Greek-Modern (el)<br/># Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)<br/># Portugese (pt) - Luxembourgeois* (ltz)<br/># Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)<br/># Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)<br/># Russian (ru) - Croatian (hr)<br/>#<br/>AddLanguage da .dk<br/>AddLanguage nl .nl<br/>AddLanguage en .en<br/>AddLanguage et .et<br/>AddLanguage fr .fr<br/>AddLanguage de .de<br/>AddLanguage he .he<br/>AddLanguage el .el<br/>AddLanguage it .it<br/>AddLanguage ja .ja<br/>AddLanguage pl .po<br/>AddLanguage ko .ko<br/>AddLanguage pt .pt<br/>AddLanguage nn .nn<br/>AddLanguage no .no<br/>AddLanguage pt-br .pt-br<br/>AddLanguage ltz .ltz<br/>AddLanguage ca .ca<br/>AddLanguage es .es<br/>AddLanguage sv .sv<br/>AddLanguage cz .cz<br/>AddLanguage ru .ru<br/>AddLanguage tw .tw<br/>AddLanguage zh-tw .tw<br/>AddLanguage hr .hr<br/><br/># LanguagePriority允许你在会话过程中优先使用一些语言。<br/>#<br/># 以优先次序递减的方式列出它们。我们或多或少地采用按字母排列顺序的方式<br/># 排列它们。也许你想要改变这个顺序。<br/>LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw<br/><br/>#<br/># ForceLanguagePriority 允许你为MULTIPLE CHOICES(Prefer)[在通讯的情况下]<br/># 或NOT ACCEPTABLE(Fallback)[没有可接受的语言匹配的情况]提供一个结果页。<br/>#<br/>ForceLanguagePriority Prefer Fallback<br/><br/>#<br/># 为发送出的所有页指定默认的字符集，这总是一个好主意，并且为你的<br/># web站点的国际化打开了大门，这不正是你曾经想要的吗。同样地，指定<br/># 默认字符集有一些小的损害，如一个使用iso-8859-1(latin1)标准命令<br/># 的页面，除非以别的方式指定例如你仅仅以显式方式声明它。<br/># 也有一些与那些总是鼓励你使用默认字符集的javascropt和URL语法有关<br/># 的浏览器安全原因。<br/>#<br/>#AddDefaultCharset ISO-8859-1<br/>AddDefaultCharse GB2312<br/><br/>#<br/># 一般以文件扩展名的方式使用字符集。也许你想要避免与语言扩展发生<br/># 碰撞，除非你在每次改变后都做了很好的测试。<br/># 参见<a href="http://www.iana.org/assignments/character-sets" target="_blank" rel="external">http://www.iana.org/assignments/character-sets</a>以取得字符集<br/># 的名字列表和它们各自的RFCs。<br/>#<br/>AddCharset ISO-8859-1 .iso8859-1 .latin1<br/>AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen<br/>AddCharset ISO-8859-3 .iso8859-3 .latin3<br/>AddCharset ISO-8859-4 .iso8859-4 .latin4<br/>AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru<br/>AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb<br/>AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk<br/>AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb<br/>AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk<br/>AddCharset ISO-2022-JP .iso2022-jp .jis<br/>AddCharset ISO-2022-KR .iso2022-kr .kis<br/>AddCharset ISO-2022-CN .iso2022-cn .cis<br/>AddCharset Big5 .Big5 .big5<br/># 对于俄语，使用了多个字符集（如何使用主要依靠客户端）：<br/>AddCharset WINDOWS-1251 .cp-1251 .win-1251<br/>AddCharset CP866 .cp866<br/>AddCharset KOI8-r .koi8-r .koi8-ru<br/>AddCharset KOI8-ru .koi8-uk .ua<br/>AddCharset ISO-10646-UCS-2 .ucs2<br/>AddCharset ISO-10646-UCS-4 .ucs4<br/>AddCharset UTF-8 .utf8<br/><br/><br/># 下面的字符集没有映射到一个特定的标准(iso)上，但是它们在浏览器<br/># 中被广泛的支持。注意那些大写字母。<br/># (它不应该,但是它是为兼容一些浏览器而做)<br/>#<br/># 参见<a href="http://www.iana.org/assianments/character-sets" target="_blank" rel="external">http://www.iana.org/assianments/character-sets</a>以取得<br/># 它们的列表。但是浏览器支持较少。<br/>#<br/>AddCharset GB2312 .gb2312 .gb<br/>AddCharset utf-7 .utf7<br/>AddCharset utf-8 .utf8<br/>AddCharset big5 .big5 .b5<br/>AddCharset EUC-TW .euc-tw<br/>AddCharset EUC-JP .euc-jp<br/>AddCharset EUC-KR .euc-kr<br/>AddCharset shift_jis .sjis<br/><br/>#<br/># AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME<br/>#<br/>AddType application/x-tar .tgz<br/>AddType image/x-icon .ico<br/><br/>#<br/># AddHandler允许你映射确定的文件扩展名到“handlers”:<br/># 与文件类型无关的行为。这既能编译到服务器中也可以添加到Action指令<br/># 中（看下面）。<br/># 为了在ScriptAliased指令指定的以外使用CGI脚本：<br/>#（要使它可用，你还需要在Options中添加“ExecCGI”。<br/>#<br/># AddHandler cgi-script .cgi<br/><br/>#<br/># 对于那些包含他们自己的HTTP头的文件<br/>#<br/># AddHandler send-as-is asis<br/><br/>#<br/># 对于server-parsed imagemap文件：<br/>#<br/># AddHandler imap-file map<br/><br/>#<br/># agemap 文件:<br/>#<br/>#AddHandler imap- 文件映像<br/><br/>#<br/># 对于类型映像:(转移资源)<br/>#(这是默认的设定以允许Apache的“It Worked”页能多种语言分发)。<br/>#<br/>AddHandler type-map var<br/><br/>#<br/># 过滤器允许你在将它发送到客户端前进行处理。<br/>#<br/># 为了在服务器端分析包含(SSI)的.shtml文档：<br/># （要执行这个指令，你还需要在Options指令中添加“Includes”。）<br/>#<br/># AddType text/html .shtml<br/># AddOutputFilter INCLUDES .shtml<br/><br/>#<br/># Action让你定义当调用匹配的媒体文件时将要执行的脚本。这将减少<br/># 那些经常使用的CGI脚本的URL路径名的重复输入。<br/># 格式：Action media/type /cgi-script/location<br/># 格式：Action handler-name /cgi-script/location<br/>#<br/><br/>#<br/># 可配置的错误应答有三种风格：<br/># 1）plain text 2)local redirects 3) external redirects<br/>#<br/># 一些示例：<br/># ErrorDocument 500 &#34;The server made a boo boo.&#34;<br/># ErrorDocument 404 /missing.html<br/># ErrorDocument 404 &#34;/cgi-bin/missing_handler.pl&#34;<br/># ErrorDocument 402 <a href="http://www.example.com/subscri&#112;tion_info.html" target="_blank" rel="external">http://www.example.com/subscri&#112;tion_info.html</a><br/>#<br/><br/>#<br/># 综合应用这些指令，我们可以创建一个国际化的出错应答。<br/>#<br/># 我们使用Alias来重定向任意/error/HTTP_&lt;error&gt;.html.var应答到<br/># 我们的多语言错误消息集合。使用正确的文本替代它。<br/>#<br/># 通过加入下面的行，你就能够改变这些消息的显示，而不必改变<br/># HTTP_&lt;error&gt;.html.var文件。<br/>#<br/># Alias /error/include/ &#34;/your/include/path/&#34;<br/>#<br/># 以将/usr/local/apache2/error/include/下的文件拷贝到/your/inclue/path/下<br/># 开始，你可以创建你自己的文件集合，甚至是其于每个虚拟主机的。<br/># 不管你的ServerSignature如何设置，默认的包含文件将显示你的<br/># Aapche版本号和你的ServerAdmin邮件地址<br/>#<br/># 国际化的错误文档需要mod_alias，mod_include和mod_negotiation三个<br/># 模块。要激活它们，取消下面30行的注释符号<br/><br/># Alias /error/ &#34;/usr/local/apache2/error/&#34;<br/>#<br/># &lt;Directory &#34;/usr/local/apache2/error&#34;&gt;<br/># AllowOverride None<br/># Options IncludesNoExec<br/># AddOutputFilter Includes html<br/># AddHandler type-map var<br/># o&#114;der allow,deny<br/># Allow from all<br/># LanguagePriority en de es fr it nl sv<br/># ForceLanguagePriority Prefer Fallback<br/># &lt;/Directory&gt;<br/>#<br/># ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var<br/># ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var<br/>ErrorDocument 403 /error.php<br/># ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var<br/># ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var<br/># ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var<br/># ErrorDocument 410 /error/HTTP_GONE.html.var<br/># ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var<br/># ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var<br/># ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var<br/># ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var<br/># ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var<br/># ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var<br/># ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var<br/># ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var<br/># ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var<br/># ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var<br/><br/>#<br/># 下面的命令更改标准的HTTP应答行为以处理己知的浏览器问题。<br/>#<br/>BrowserMatch &#34;Mozilla/2&#34; nokeepalive<br/>BrowserMatch &#34;MSIE 4\.0b2;&#34; nokeepalive downgrade-1.0 force-response-1.0<br/>BrowserMatch &#34;RealPlayer 4\.0&#34; force-response-1.0<br/>BrowserMatch &#34;Java/1\.0&#34; force-response-1.0<br/>BrowserMatch &#34;JDK/1\.0&#34; force-response-1.0<br/><br/>#<br/># 下面命令关闭对那些没有尾部“/”的目录的非GET请求的重定向，<br/># 这些命令修复了微软的采用DAV方法不能正确处理重定向的WEB文件夹的问题。<br/># Apple下的DAV文件系统和Gnome下的VFS对DAV的支持也是采用这样的方法<br/># 进行处理的。<br/>#<br/>BrowserMatch &#34;Microsoft Data Access Internet Publishing Provider&#34; redirect-carefully<br/>BrowserMatch &#34;^WebDrive&#34; redirect-carefully<br/>BrowserMatch &#34;^WebDAVFS/1.[012]&#34; redirect-carefully<br/>BrowserMatch &#34;^gnome-vfs&#34; redirect-carefully<br/><br/>#<br/># 允许你使用URL：<a href="http://servername/server-status" target="_blank" rel="external">http://servername/server-status</a>来通过mod_status生<br/># 成并报告服务器状态信息。改变.example.com为你自己的域名。<br/>#<br/># &lt;Location /server-status&gt;<br/># SetHandler server-status<br/># o&#114;der deny,allow<br/># Deny from all<br/># Allow from .example.com<br/># &lt;/Location&gt;<br/><br/>#<br/># 允许使用URL:<a href="http://servername/server-info" target="_blank" rel="external">http://servername/server-info</a>来远程报告服务器配置信息<br/># （需要mod_info.c支持）。改变“.example.com”为你自己的域名。<br/>#<br/># &lt;Location /server-info&gt;<br/># SetHandler server-info<br/># o&#114;der deny,allow<br/># Deny from all<br/># Allow from .example.com<br/># &lt;/Location&gt;<br/><br/>#<br/># 代理服务器命令，去掉下面的行使代理服务可用。<br/>#<br/># &lt;IfModule mod_proxy.c&gt;<br/># ProxyRequests On<br/># &lt;Proxy *&gt;<br/># o&#114;der deny,allow<br/># Deny from all<br/># Allow from .example.com<br/># &lt;/Proxy&gt;<br/><br/>#<br/># 安装或关闭HTTP/1.1“通道”头处理。<br/># （“Full”添加服务器版本信息，“Block”移掉所有输出“通道”头信息。<br/># 可以设为下面各选项之一：Off | On | Full | Block<br/>#<br/># ProxyVia On<br/><br/># 最好为代理服务安装高速缓冲，去掉下面几行的注释符号：<br/># （没有CacheRoot则不缓冲）<br/>#<br/># CacheRoot &#34;/usr/local/apache2/proxy&#34;<br/># CacheSize 5<br/># CacheGcInterval 4<br/># CacheMaxExpire 24<br/># CacheLastModifiedFactor 01<br/># CacheDefaultExpire 1<br/># NoCache a-domain.com another-domain.edu joes.garage-sale.com<br/><br/># &lt;/IfModule&gt;<br/># 代理命令结束。<br/><br/>#<br/># 附加的特定模块配置。<br/>#<br/>&lt;IfModule mod_ssl.c&gt;<br/>Include conf/ssl.conf<br/>&lt;/IfModule&gt;<br/><br/>## 第三区：虚拟主机<br/>#<br/># VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上保有多个<br/># 域名/主机名。大多数配置信息只使用基于名字的虚拟主机，因此服务器<br/># 不必担心IP地址的问题，下面的命令以*号代替虚拟主机名。<br/>#<br/># 在你试着配置你的虚拟主机以前，请参见<br/># URL:<a href="http://httpd.apache.org/docs-2.0/vhosts/" target="_blank" rel="external">http://httpd.apache.org/docs-2.0/vhosts/</a>&gt;以取得更多的信息。<br/>#<br/># 你可以使用命令行选项“-S”来检验你的虚拟主机配置。<br/><br/>#<br/># 使用基于名字的虚拟主机。<br/>#<br/># NameVirtualHost *<br/><br/>#<br/># 虚拟主机示例：<br/># 几乎所有的Apache命令都可以在虚拟主机容器中使用。<br/># 第一个虚拟主机区是用于向服务名未知的请求进行应答的配置。<br/>#<br/># &lt;VirtualHost *&gt;<br/># ServerAdmin webmaster@dummy-host.example.com<br/># DocumentRoot /www/docs/dummy-host.example.com<br/># ServerName dummy-host.example.com<br/># ErrorLog logs/dummy-host.example.com-error_log<br/># CustomLog logs/dummy-host.example.com-access_log commom<br/># &lt;/virtualHost&gt; ]]></description>
		</item>
		
</channel>
</rss>
