<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[迷吧 - 网络编程]]></title>
<link>http://www.imi8.cn/</link>
<description><![CDATA[创造机会的人是勇者；等待机会的人是愚者]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[imi8cn@126.com(Icc8)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>迷吧</title>
	<url>http://www.imi8.cn/images/logos.gif</url>
	<link>http://www.imi8.cn/</link>
	<description>迷吧</description>
</image>

			<item>
			<link>http://www.imi8.cn/article/100.html</link>
			<title><![CDATA[IE9允许前端开发获取到页面性能数据]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Thu,05 Aug 2010 13:14:05 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=100</guid>
		<description><![CDATA[<div align="center"><img src="http://www.imi8.cn/download.asp?id=73" border="0" alt=""/></div><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长期以来，为了改善站点的用户体验，我们一直都是在页面顶端加上一个 (new Date()).getTime() 来获取用户打开页面的时间，使用httpwatch来分析页面打开的解释时间。httpwatch虽然强大，但是还是无法让我们深入到用户的环境去了解用户打开页面前的一些情况，例如:DNS解释时间，请求和响应时间，以及更加深入的页面渲染时间等重要信息。这些信息对用户环境分析是至关重要的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如今，这个情况即将改变，微软的IE9将给前端开发们提供有力的性能分析接口让我们能够深入分析页面的性能，这就是强大的msPerformance接口。这个接口其实是基于HTML5草案Web Timing的定义来开发的（有意思的是这个接口是google提供的，chrome目前还没支持，IE9先行了）。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们来看看通过Web Timing我们可以获取到什么数据<br/><br/> window.msPerformance.navigation<br/><br/> <div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code7323);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code7323>{<br/><br/>&#160;&#160;&#160;&#160;requestCount : 76<br/><br/>&#160;&#160;&#160;&#160;type : 0<br/><br/>&#160;&#160;&#160;&#160;startTime : 1277821481923<br/><br/>&#160;&#160;&#160;&#160;redirectedCount : 5<br/><br/>&#160;&#160;&#160;&#160;uniqueDomains : 31<br/><br/>}</div></div><br/> <br/>window.msPerformance.timingMeasures<br/><br/> <div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code99037);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code99037>{<br/><br/>&#160;&#160;&#160;&#160;request : 22<br/><br/>&#160;&#160;&#160;&#160;domContentLoaded : 342<br/><br/>&#160;&#160;&#160;&#160;response : 10<br/><br/>&#160;&#160;&#160;&#160;firstPaint : 29<br/><br/>&#160;&#160;&#160;&#160;domInteractive : 342<br/><br/>&#160;&#160;&#160;&#160;msStyleContentLoaded : 342<br/><br/>&#160;&#160;&#160;&#160;fetch : 459<br/><br/>&#160;&#160;&#160;&#160;domComplete : 342<br/><br/>&#160;&#160;&#160;&#160;load : 89<br/><br/>&#160;&#160;&#160;&#160;connect : 3<br/><br/>}</div></div><br/> <br/>window.msPerformance.timing<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code77011);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code77011> {<br/><br/>&#160;&#160;&#160;&#160;domLoading : 1277821481950<br/><br/>&#160;&#160;&#160;&#160;responseEnd : 1277821481960<br/><br/>&#160;&#160;&#160;&#160;navigationStart : 1277821481923<br/><br/>&#160;&#160;&#160;&#160;fetchStart : 1277821481923<br/><br/>&#160;&#160;&#160;&#160;msStyleContentLoaded : 1277821482293<br/><br/>&#160;&#160;&#160;&#160;firstPaint : 1277821481952<br/><br/>&#160;&#160;&#160;&#160;fullyLoaded : 0<br/><br/>&#160;&#160;&#160;&#160;requestStart : 1277821481927<br/><br/>&#160;&#160;&#160;&#160;loadEnd : 1277821482383<br/><br/>&#160;&#160;&#160;&#160;unloadStart : 1277821481923<br/><br/>}</div></div><br/> <br/><br/>通过这些数据我们可以更加深入得分析页面的性能和用户的网络环境，提供更加好的差异化服务。<br/><br/>&nbsp;&nbsp; <a target="_blank" href="http://ie.microsoft.com/testdrive/" rel="external">到这里下载IE9预览版</a><br/><br/>发现IE9pre3的console列出的接口不全，直接用调试器把这个接口和方法全部列出来了，更加直观<br/><div align="center"><img src="http://www.imi8.cn/download.asp?id=74" border="0" alt=""/></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/98.html</link>
			<title><![CDATA[DIV+CSS网页设计布局对网站SEO的影响]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Tue,03 Aug 2010 18:44:18 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=98</guid>
		<description><![CDATA[SEO主要就是通过对网站的结构，标签，排版等各方面的优化，使Google等搜索引擎更容易搜索网站的内容，并且让网站的各个网页在GOOGLE等搜索引擎中获得较高的评分，从而获得较好的排名。DIV+CSS网页布局对SEO有哪些影响呢？代码精简使用DIV+CSS布局，页面代码精简，这一点相信对XHTML有所了解的都知道。代码精简所带来的直接好处有两点：一是提高spider爬行效率，能在最短的时间内爬完整个页面，这样对收录质量有一定好处;二是由于能高效的爬行，就会受到spider喜欢，这样对收录数量有一定好处。<br/><br/><strong>表格的嵌套问题</strong><br/><br/>很多网站如何推广的文章中称，搜索引擎一般不抓取三层以上的表格嵌套，这一点一直没有得到搜索引擎官方的证实。根据目前掌握的情况来看，spider爬行Table布局的页面，遇到多层表格嵌套时，会跳过嵌套的内容或直接放弃整个页面。<br/><br/>使用Table布局，为了达到一定的视觉效果，不得不套用多个表格。如果嵌套的表格中是核心内容，spider爬行时跳过了这一段没有抓取到页面的核心，这个页面就成了相似页面。网站中过多的相似页面会影响排名及域名信任度。<br/><br/>而DIV+CSS布局基本上不会存在这样的问题，从技术角度来说，XHTML在控制样式时也不需要过多的嵌套。<br/><br/>这虽然没有得到确认，但还是建议使用Table布局的朋友们，在设计时尽可能的不要使用多层表格嵌套，SEOer们在文章中说明了这一点，相信他们也不是没有依据的。<br/><br/><strong>速度问题</strong><br/><br/>DIV+CSS布局较Table布局减少了页面代码，加载速度得到很大的提高，这在spider爬行时是非常有利的。过多的页面代码可能造成爬行超时，spider就会认为这个页面无法访问，影响收录及权重。<br/><br/>另一方面，真正的SEOer不只是为了追求收录、排名，快速的响应速度是提高用户体验度的基础，这对整个搜索引擎优化及营销都是非常有利的。<br/><br/><strong>对排名的影响</strong><br/><br/>基于XTHML标准的DIV+CSS布局，一般在设计完成后会尽可能的完善到能通过W3C验证。截止目前没有搜索引擎表示排名规则会倾向于符合W3C标准的网站或页面，但事实证明使用XTHML架构的网站排名状况一般都不错。这一点或许会有争议，但乐思蜀本人保持这样的观点，有异议者可以拿三组以上基本同等质量的网站对比观察。<br/><br/>我想，这样的情况可能不是排名规则，最大的可能还是spider爬行网站时，出现以上差异导致收录质量的不同。<br/><br/>毕竟廖胜于无，建议建站或改版的朋友们，技术许可的情况下，还是选择DIV+CSS布局为好。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/79.htm</link>
			<title><![CDATA[ PHP生成条形码的函数]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,05 May 2010 15:43:43 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=79</guid>
		<description><![CDATA[<div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code17332);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code17332><br/>&lt;?php <br/>function UPCAbarcode($code) { <br/>&nbsp;&nbsp;$lw = 2; $hi = 100; <br/>&nbsp;&nbsp;$Lencode = array(&#39;0001101&#39;,&#39;0011001&#39;,&#39;0010011&#39;,&#39;0111101&#39;,&#39;0100011&#39;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;0110001&#39;,&#39;0101111&#39;,&#39;0111011&#39;,&#39;0110111&#39;,&#39;0001011&#39;); <br/>&nbsp;&nbsp;$Rencode = array(&#39;1110010&#39;,&#39;1100110&#39;,&#39;1101100&#39;,&#39;1000010&#39;,&#39;1011100&#39;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;1001110&#39;,&#39;1010000&#39;,&#39;1000100&#39;,&#39;1001000&#39;,&#39;1110100&#39;); <br/>&nbsp;&nbsp;$ends = &#39;101&#39;; $center = &#39;01010&#39;; <br/>&nbsp;&nbsp;/* UPC-A Must be 11 digits, we compute the checksum. */ <br/>&nbsp;&nbsp;if ( strlen($code) != 11 ) { die(&#34;UPC-A Must be 11 digits.&#34;); } <br/>&nbsp;&nbsp;/* Compute the EAN-13 Checksum digit */ <br/>&nbsp;&nbsp;$ncode = &#39;0&#39;.$code; <br/>&nbsp;&nbsp;$even = 0; $odd = 0; <br/>&nbsp;&nbsp;for ($x=0;$x&lt;12;$x++) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($x % 2) { $odd += $ncode[$x]; } else { $even += $ncode[$x]; } <br/>&nbsp;&nbsp;} <br/>&nbsp;&nbsp;$code.=(10 - (($odd * 3 + $even) % 10)) % 10; <br/>&nbsp;&nbsp;/* Cr&#101;ate the bar encoding using a binary string */ <br/>&nbsp;&nbsp;$bars=$ends; <br/>&nbsp;&nbsp;$bars.=$Lencode[$code[0]]; <br/>&nbsp;&nbsp;for($x=1;$x&lt;6;$x++) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;$bars.=$Lencode[$code[$x]]; <br/>&nbsp;&nbsp;} <br/>&nbsp;&nbsp;$bars.=$center; <br/>&nbsp;&nbsp;for($x=6;$x&lt;12;$x++) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;$bars.=$Rencode[$code[$x]]; <br/>&nbsp;&nbsp;} <br/>&nbsp;&nbsp;$bars.=$ends; <br/>&nbsp;&nbsp;/* Generate the Barcode Image */ <br/>&nbsp;&nbsp;$img = ImageCr&#101;ate($lw*95+30,$hi+30); <br/>&nbsp;&nbsp;$fg = ImageColorAllocate($img, 0, 0, 0); <br/>&nbsp;&nbsp;$bg = ImageColorAllocate($img, 255, 255, 255); <br/>&nbsp;&nbsp;ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg); <br/>&nbsp;&nbsp;$shift=10; <br/>&nbsp;&nbsp;for ($x=0;$x&lt;strlen($bars);$x++) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;if (($x&lt;10) || ($x&gt;=45 &amp;&amp; $x&lt;50) || ($x &gt;=85)) { $sh=10; } else { $sh=0; } <br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($bars[$x] == &#39;1&#39;) { $color = $fg; } else { $color = $bg; } <br/>&nbsp;&nbsp;&nbsp;&nbsp;ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color); <br/>&nbsp;&nbsp;} <br/>&nbsp;&nbsp;/* Add the Human Readable Label */ <br/>&nbsp;&nbsp;ImageString($img,4,5,$hi-5,$code[0],$fg); <br/>&nbsp;&nbsp;for ($x=0;$x&lt;5;$x++) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg); <br/>&nbsp;&nbsp;&nbsp;&nbsp;ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg); <br/>&nbsp;&nbsp;} <br/>&nbsp;&nbsp;ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg); <br/>&nbsp;&nbsp;/* Output the Header and Content. */ <br/>&nbsp;&nbsp;header(&#34;Content-Type: image/png&#34;); <br/>&nbsp;&nbsp;ImagePNG($img); <br/>} <br/>?&gt; </div></div><br/><br/>===========================<br/>函数描述及例子<br/>===========================<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code98769);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code98769><br/>&lt;?php<br/>UPCAbarcode(&#39;47101496236&#39;); <br/>?&gt; </div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/66.htm</link>
			<title><![CDATA[Ajax实现不刷屏的前提下实现页面定时刷新]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,28 Apr 2010 16:44:52 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=66</guid>
		<description><![CDATA[主页面（要求刷新的页面）要求每一分钟刷新一次系统时间<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code32959);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code32959><br/>&lt;html&gt;<br/>&lt;body onload=&#34;makeRequest(&#34;getSystemTime.jsp&#34;)&#34;&gt; //创建httpRequest对象<br/>&lt;form name=&#34;dateForm&#34;&gt;<br/>&lt;table&gt;<br/>&lt;td colspan=&#34;2&#34; align=&#34;center&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id=&#34;sysTimeShow&#34;&gt;&lt;/div&gt; //显示平台系统时间<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br/>&lt;/table&gt;&lt;/form&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt; <br/>getSystemTime.jsp&nbsp;&nbsp;&nbsp;&nbsp; //获得系统的当前时间，也就是输出结果的页面<br/>&lt;%@ page language=&#34;java&#34;&nbsp;&nbsp;%&gt;<br/>&lt;%@ page contentType=&#34;text/html;charset=GB2312&#34; %&gt;<br/>&lt;%@ page import=&#34;java.util.Date&#34;%&gt;<br/>&lt;%@ page import=&#34;java.sql.Timestamp&#34;%&gt;<br/>&lt;%@ page import=&#34;java.io.IOException&#34;%&gt;<br/>&lt;%<br/>Date d = new Date();<br/>Timestamp ts = new Timestamp(d.getTime());<br/>String result = ts.toString().substring(0,16);<br/>out.write(result,0,result.length()); <br/>%&gt;<br/>ajax.js<br/>function makeRequest(url) {<br/> http_request = false;<br/> if (window.XMLHttpRequest) {<br/>&nbsp;&nbsp;http_request = new XMLHttpRequest();<br/>&nbsp;&nbsp;if (http_request.overrideMimeType){<br/>&nbsp;&nbsp; http_request.overrideMimeType(&#39;text/xml&#39;);<br/>&nbsp;&nbsp;} <br/> } else if (window.ActiveXObject) {<br/>&nbsp;&nbsp;try{<br/>&nbsp;&nbsp; http_request = new ActiveXObject(&#34;Msxml2.XMLHTTP&#34;); <br/>&nbsp;&nbsp;} catch (e) {<br/>&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;http_request = new ActiveXObject(&#34;Microsoft.XMLHTTP&#34;);<br/>&nbsp;&nbsp; } catch (e) {<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp;}<br/> } <br/> if (!http_request) {<br/>&nbsp;&nbsp;alert(&#34;您的浏览器不支持当前操作，请使用 IE 5.0 以上版本!&#34;);<br/>&nbsp;&nbsp;return false;<br/> }<br/> <br/>//定义页面调用的方法init,不是init();没有();<br/> http_request.onreadystatechange = init; <br/> http_request.open(&#39;GET&#39;, url, true); <br/>//禁止IE缓存<br/> http_request.setRequestHeader(&#34;If-Modified-Since&#34;,&#34;0&#34;); <br/><br/>//发送数据<br/> http_request.send(null);<br/><br/>//每60秒刷新一次页面<br/> setTimeout(&#34;makeRequest(&#39;&#34;+url+&#34;&#39;)&#34;, 60000); <br/>}<br/><br/>function init() { <br/> if (http_request.readyState == 4) {<br/>&nbsp;&nbsp;if (http_request.status == 0 || http_request.status == 200) {<br/>&nbsp;&nbsp; var result = http_request.responseText;<br/>&nbsp;&nbsp; if(result==&#34;&#34;){<br/>&nbsp;&nbsp;&nbsp;&nbsp;result = &#34;系统时间获取失败&#34;;<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp; document.getElementById (&#34;sysTimeShow&#34;).innerHTML=&#34;平台系统时间：&#34;+result; <br/>&nbsp;&nbsp;} else {//http_request.status != 200<br/>&nbsp;&nbsp; alert(&#34;请求失败!&#34;);<br/>&nbsp;&nbsp;}<br/> }<br/>}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/65.htm</link>
			<title><![CDATA[解读PHP冒泡排序技巧]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,28 Apr 2010 16:42:39 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=65</guid>
		<description><![CDATA[PHP语言与C语言有些相向。但只是相向，并不代表相同。我们在这篇文章中将会为大家详细介绍有关PHP冒泡排序的一些使用方法。 <br/><br/>PHP冒泡排序程序文件sort_bubble_up.php<br/> <br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code11606);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code11606>&lt; html&gt;&nbsp;&nbsp;<br/>&lt; head&gt;&lt; title&gt;PHP冒泡排序法演示&lt; /title&gt;&lt; head&gt;&nbsp;&nbsp;<br/>&lt; link rel=&#34;stylesheet&#34; href=&#34;sort.css&#34;&gt;&nbsp;&nbsp;<br/>&lt; body&gt;&nbsp;&nbsp;<br/>&lt; h1&gt;冒泡排序法演示&lt; /h1&gt;&nbsp;&nbsp;<br/>&lt; table cellpadding=&#34;5&#34; cellspacing=&#34;1&#34; <br/>border=&#34;0&#34; align=&#34;center&#34;&gt;&nbsp;&nbsp;<br/>&lt; ?php&nbsp;&nbsp; <br/>//随机生成数组&nbsp;&nbsp; <br/>$arr=array();&nbsp;&nbsp; <br/>echo &#39;&lt; tr&gt;&lt; td colspan=&#34;10&#34; class=&#34;title&#34;&gt;<br/>初始值&lt; /td&gt;&lt; /tr&gt;&#39;;&nbsp;&nbsp; <br/>echo &#39;&lt; tr&gt;&#39;;&nbsp;&nbsp; <br/>for($i=0;$i&lt; 10;$i++){&nbsp;&nbsp; <br/>$arr[$i]=rand();&nbsp;&nbsp; <br/>echo &#34;&lt; td&gt;\$arr[$i]={$arr[$i]}&lt; /td&gt;&#34;;&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>//进行冒泡法排序&nbsp;&nbsp; <br/>for($i=9;$i&gt;0;$i--){&nbsp;&nbsp; <br/>echo &#39;&lt; tr&gt;&lt; td colspan=&#34;10&#34; class=&#34;title&#34;&gt;第&#39;<br/>.(10-$i).&#39;次&lt; /td&gt;&lt; /tr&gt;&#39;;&nbsp;&nbsp; <br/>for($j=0;$j&lt; $i;$j++){&nbsp;&nbsp; <br/>if($arr[$j]&lt; $arr[$j+1]){&nbsp;&nbsp; <br/>$tmp=$arr[$j];&nbsp;&nbsp; <br/>$arr[$j]=$arr[$j+1];&nbsp;&nbsp; <br/>$arr[$j+1]=$tmp;&nbsp;&nbsp; <br/>}&nbsp;&nbsp;&nbsp;&nbsp;<br/>echo &#39;&lt; tr&gt;&#39;;&nbsp;&nbsp; <br/>for($k=0;$k&lt; 10;$k++){&nbsp;&nbsp; <br/>switch($k){&nbsp;&nbsp;&nbsp;&nbsp;<br/>case $j : echo &#39;&lt; td class=&#34;base&#34;&gt;&#39;; break;&nbsp;&nbsp; <br/>case $j+1 : echo &#39;&lt; td class=&#34;light&#34;&gt;&#39;; break;&nbsp;&nbsp; <br/>default : echo &#39;&lt; td&gt;&#39;;&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>echo &#34;\$arr[$k]={$arr[$k]}&lt; /td&gt;&#34;;&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>echo &#39;&lt; /tr&gt;&#39;;&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>//显示排序结果&nbsp;&nbsp; <br/>echo &#39;&lt; tr&gt;&lt; td colspan=&#34;10&#34; class=&#34;title&#34;&gt;结果&lt; /td&gt;&lt; /tr&gt;&#39;;&nbsp;&nbsp; <br/>echo &#39;&lt; tr&gt;&#39;;&nbsp;&nbsp; <br/>for($i=0;$i&lt; 10;$i++){&nbsp;&nbsp; <br/>echo &#34;&lt; td&gt;\$arr[$i]={$arr[$i]}&lt; /td&gt;&#34;;&nbsp;&nbsp; <br/>}&nbsp;&nbsp; <br/>echo &#39;&lt; /tr&gt;&#39;;&nbsp;&nbsp; <br/>?&gt;&nbsp;&nbsp;<br/>&lt; /table&gt;&nbsp;&nbsp;<br/>&lt; /body&gt;&lt; /html&gt;&nbsp;&nbsp;<br/>PHP冒泡排序样式表文件sort.css<br/><br/>h1{text-align: center; color: blue;}<br/>table{font-size: 12px; font-family: arial; background-color: black; text-align: center;}<br/>td{background-color: white;}<br/>.base{background-color: #0FF;}<br/>.light{background-color: #0DD;}<br/>.title{background-color: #3FF; text-align: center;}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/64.htm</link>
			<title><![CDATA[详细解读PHP弹出对话框技巧]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,28 Apr 2010 16:40:43 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=64</guid>
		<description><![CDATA[许多程序员们运用PHP语言进行WEB开发。那么在网站中通常都会遇到对话框弹出等功能需求。下面我们就为大家详细介绍PHP弹出对话框的相关实现方法。 <br/><br/>1. PHP弹出对话框<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code83440);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code83440>&lt; ?PHP&nbsp;&nbsp;&nbsp;&nbsp;<br/>echo &#34;&lt; script language=<br/>\&#34;Javascri&#112;t\&#34;&gt;alert<br/>(\&#34;你好\&#34;);&lt; /script&gt;&#34;;&nbsp;&nbsp;&nbsp;&nbsp;<br/>?&gt; </div></div>&nbsp;&nbsp; <br/>或者<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code50328);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code50328>&lt; ?PHP&nbsp;&nbsp;&nbsp;&nbsp;<br/>print &#34;&lt; script language=<br/>\&#34;Javascri&#112;t\&#34;&gt;alert<br/>(\&#34;你好\&#34;);&lt; /script&gt;&#34;;&nbsp;&nbsp;&nbsp;&nbsp;<br/>?&gt;&nbsp;&nbsp;</div></div><br/>2. 如果需要PHP弹出对话框之后返回原来页面可以这么写 <br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code49665);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code49665>&lt; ?PHP&nbsp;&nbsp; echo &#34;&lt; script language=\&#34;Javascri&#112;t\&#34;&gt;\r\n&#34;;&nbsp;&nbsp; echo &#34; alert(\&#34;你好\&#34;);\r\n&#34;;&nbsp;&nbsp; echo &#34; history.back();\r\n&#34;;&nbsp;&nbsp; echo &#34;&lt; /script&gt;&#34;;&nbsp;&nbsp; exit;&nbsp;&nbsp; ?&gt;&nbsp;&nbsp;</div></div><br/> 或者<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code25098);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code25098>&lt; ?PHP&nbsp;&nbsp; print &#34;&lt; script language=\&#34;Javascri&#112;t\&#34;&gt;\r\n&#34;;&nbsp;&nbsp; print &#34; alert(\&#34;你好\&#34;);\r\n&#34;;&nbsp;&nbsp; print &#34; history.back();\r\n&#34;;&nbsp;&nbsp; print &#34;&lt; /script&gt;&#34;;&nbsp;&nbsp; exit;&nbsp;&nbsp; ?&gt;&nbsp;&nbsp;</div></div><br/> 3. 如果需要PHP弹出对话框之后用新的页面替换原来的页面(更换当前历史纪录),原来页面可以这么写 <br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code98799);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code98799>&lt; ?PHP&nbsp;&nbsp; echo &#34;&lt; script language=\&#34;Javascri&#112;t\&#34;&gt;\r\n&#34;;&nbsp;&nbsp; echo &#34; alert(\&#34;你好\&#34;);\r\n&#34;;&nbsp;&nbsp; echo &#34; location.replace(\&#34;<a href="http://www.asm32.net/" target="_blank" rel="external">http://www.asm32.net/</a>\&#34;);\r\n&#34;; // 自己修改网址&nbsp;&nbsp; echo &#34;&lt; /script&gt;&#34;;&nbsp;&nbsp; exit;&nbsp;&nbsp; ?&gt; </div></div><br/>&nbsp;&nbsp;或者<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code51137);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.imi8.cn/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code51137>&lt; ?PHP&nbsp;&nbsp; print &#34;&lt; script language=\&#34;Javascri&#112;t\&#34;&gt;\r\n&#34;;&nbsp;&nbsp; print &#34; alert(\&#34;你好\&#34;);\r\n&#34;;&nbsp;&nbsp; print &#34; location.replace(\&#34;<a href="http://www.asm32.net/" target="_blank" rel="external">http://www.asm32.net/</a>\&#34;);\r\n&#34;; // 自己修改网址&nbsp;&nbsp; print &#34;&lt; /script&gt;&#34;;&nbsp;&nbsp; exit;&nbsp;&nbsp; ?&gt; </div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/63.htm</link>
			<title><![CDATA[DIV+CSS网页设计布局对网站SEO的影响]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,28 Apr 2010 14:11:47 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=63</guid>
		<description><![CDATA[SEO主要就是通过对网站的结构，标签，排版等各方面的优化，使Google等搜索引擎更容易搜索网站的内容，并且让网站的各个网页在GOOGLE等搜索引擎中获得较高的评分，从而获得较好的排名。DIV+CSS网页布局对SEO有哪些影响呢？代码精简使用DIV+CSS布局，页面代码精简，这一点相信对XHTML有所了解的都知道。代码精简所带来的直接好处有两点：一是提高spider爬行效率，能在最短的时间内爬完整个页面，这样对收录质量有一定好处;二是由于能高效的爬行，就会受到spider喜欢，这样对收录数量有一定好处。<br/><br/>表格的嵌套问题<br/><br/>很多网站如何推广的文章中称，搜索引擎一般不抓取三层以上的表格嵌套，这一点一直没有得到搜索引擎官方的证实。根据目前掌握的情况来看，spider爬行Table布局的页面，遇到多层表格嵌套时，会跳过嵌套的内容或直接放弃整个页面。<br/><br/>使用Table布局，为了达到一定的视觉效果，不得不套用多个表格。如果嵌套的表格中是核心内容，spider爬行时跳过了这一段没有抓取到页面的核心，这个页面就成了相似页面。网站中过多的相似页面会影响排名及域名信任度。<br/><br/>而DIV+CSS布局基本上不会存在这样的问题，从技术角度来说，XHTML在控制样式时也不需要过多的嵌套。<br/><br/>这虽然没有得到确认，但还是建议使用Table布局的朋友们，在设计时尽可能的不要使用多层表格嵌套，SEOer们在文章中说明了这一点，相信他们也不是没有依据的。<br/><br/>速度问题<br/><br/>DIV+CSS布局较Table布局减少了页面代码，加载速度得到很大的提高，这在spider爬行时是非常有利的。过多的页面代码可能造成爬行超时，spider就会认为这个页面无法访问，影响收录及权重。<br/><br/>另一方面，真正的SEOer不只是为了追求收录、排名，快速的响应速度是提高用户体验度的基础，这对整个搜索引擎优化及营销都是非常有利的。<br/><br/>对排名的影响<br/><br/>基于XTHML标准的DIV+CSS布局，一般在设计完成后会尽可能的完善到能通过W3C验证。截止目前没有搜索引擎表示排名规则会倾向于符合W3C标准的网站或页面，但事实证明使用XTHML架构的网站排名状况一般都不错。这一点或许会有争议，但乐思蜀本人保持这样的观点，有异议者可以拿三组以上基本同等质量的网站对比观察。<br/><br/>我想，这样的情况可能不是排名规则，最大的可能还是spider爬行网站时，出现以上差异导致收录质量的不同。<br/><br/>毕竟廖胜于无，建议建站或改版的朋友们，技术许可的情况下，还是选择DIV+CSS布局为好。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/62.htm</link>
			<title><![CDATA[国外最牛的Php开源建站平台]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Wed,28 Apr 2010 14:00:34 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=62</guid>
		<description><![CDATA[大量的PHP开源（开放源代码/Open Source）应用改变了这个世界，改变了互联网，以下我们总结从数据库到购物、博客等众多类型的开源PHP软件，供网站开发者们参考。<br/><br/>博客：WordPress<br/><br/>WordPress是使用PHP开发的著名博客平台，免费开源，功能强大，不仅仅用于博客搭建，还可以广泛应用于各类网络信息发布平台。<br/><br/>论坛：phpBB<br/><br/>phpBB是一种广泛流行的开源论坛软件，具有易于使用的管理面板和友好的用户安装界面，可以轻松地在数分钟内建立起一个论坛，功能上具有很高的可配置性，能够完全定制出相当个性化的论坛。<br/><br/>CMS：Drupal<br/><br/>Drupal是一个开源的内容管理系统(CMS)平台，拥有强大并可自由配置的功能，能支持从个人博客到大型社区驱动的网站等各种不同应用的网站项目。<br/><br/>Wiki：MediaWiki<br/><br/>MediaWiki是PHP语言写成开源Wiki引擎，全世界最大的Wiki项目维基百科就是使用MediaWiki引擎。<br/><br/>Digg：Pligg<br/><br/>Pligg是一套灵活的类似Digg的Web2.0 CMS系统，系统使用PHP开发，模仿了国外流行的DIGG系统。<br/><br/>图像：Gallery<br/><br/>Gallery 是一个非常有名的免费开源图库相册软件，基于 PHP 和 MySQL， PostgreSQL 等数据库。功能非常强大，有丰富的扩展可以下载，安装很简单，有很多插件可用。<br/><br/>RSS：Gregarius<br/><br/>Gregarius是一个RSS聚合程序，免费开源，具备不错的用户体验，易于操作和管理。可以把其当成RSS阅读器使用。<br/><br/>电子商务：osCommerce<br/><br/>osCommerce是一套由自由软件开发社团开发并维护的在线商店的解决方案，免费开源，并可以应用到任何的商业环境中，可以在短时间内生成一个功能强大的电子商务网站。<br/><br/>广告：OpenX<br/><br/>OpenX（原名phpAdsNew）是一个用PHP开发的广告管理与跟踪系统，适合各类网站使用，能够管理每个广告主拥有的多种任何尺寸横幅广告，按天查看，详细和概要统计并通过电子邮件发送报表给广告主。<br/><br/>数据库：phpMyadmin<br/><br/>phpMyAdmin是用PHP开发的MySQL的数据库管理工具。可以在Web界面上实现各种各样对MySQL数据库的管理和操作。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/58.htm</link>
			<title><![CDATA[PHP程序的UTF8神秘编码问题之解]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Mon,26 Apr 2010 16:31:36 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=58</guid>
		<description><![CDATA[提示：采用UTF-8编码的用户请勿使用记事本对代码文件及模板文件进行编辑，使用可以去掉 Unicode 签名(BOM)的工具进行编辑。如果您的网站打开一片空白、样式丢失、程序报错很可能是您使用了未能去掉BOM的工具对模板文件或源码文件进行了修改。<br/><br/>现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件。但是很遗憾，其中很多软件的表现并不理想。<br/>类似WINDOWS自带的记事本等软件，在保存一个以UTF-8编码的文件时，会在文件开始的地方插入三个不可见的字符（0xEF 0xBB 0xBF，即BOM）。它是一串隐藏的字符，用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件，这样并不会产生什么麻烦。但对于 PHP来说，BOM是个大麻烦。<br/><br/>PHP并不会忽略BOM，所以在读取、包含或者引用这些文件时，会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点，这串字符将被直接执行（显示）出来。由此造成即使页面的 top padding 设置为0，也无法让整个网页紧贴浏览器顶部，因为在html一开头有这3个字符呢！<br/><br/>最大的麻烦还不是这个。受COOKIE送出机制的限制，在这些文件开头已经有BOM的文件中，COOKIE无法送出（因为在COOKIE送出前PHP已经送出了文件头），所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。<br/><br/>因此，在编辑、更改任何文本文件时，请务必使用不会乱加BOM的编辑器。Linux下的编辑器应该都没有这个问题。WINDOWS下，请勿使用记事本等编辑器。推荐的编辑器是： Editplus 2.12版本以上； EmEditor； UltraEdit（需要取消‘添加BOM’的相关选项）； Dreamweaver（需要取消‘添加BOM’的相关选项）等。<br/>对于已经添加了BOM的文件，要取消的话，可以用以上编辑器另存一次。（Editplus需要先另存为gb，再另存为UTF-8。）<br/>&nbsp;&nbsp;<br/>在Dreamweaver 里可以修改，去掉Unicode 签名(BOM)<br/>点菜单栏里的修改 -&gt; 页面属性，或直接按 Ctrl+J 快捷键。<br/><div align="center"><img src="http://www.imi8.cn/download.asp?id=60" border="0" alt=""/></div>]]></description>
		</item>
		
			<item>
			<link>http://www.imi8.cn/article/48.html</link>
			<title><![CDATA[IE6 使用png透明图片的方法 [非JS方法]]]></title>
			<author>imi8cn@126.com(icc8)</author>
			<category><![CDATA[网络编程]]></category>
			<pubDate>Mon,29 Mar 2010 09:05:01 +0800</pubDate>
			<guid>http://www.imi8.cn/default.asp?id=48</guid>
		<description><![CDATA[在IE7和Firefox下肯定没问题！但是到了IE6下透明部分就变成灰色了。<br/><br/>如何使用我们前面说的AlphaImageLoader滤镜呢？很简单代码可以这样写（已top区域为例）：<br/><br/><br/>.header .top{<br/> width:1000px;<br/> height:116px;<br/> margin-left:auto;<br/> margin-right:auto;<br/> filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=&#34;/wp-content/themes/xilin/images/topbg.png&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/><br/>这样我们在IE6下看效果的时候PNG的透明层就起作用了。但是当我们返回Firefox的时候，PNG的图没了？别急这是因为AlphaImageLoader滤镜是IE系列浏览器的专属标签，Firefox当然不支持了。必须使用background-image属性在Firefox下才起作用：<br/><br/>如果我们这样吧background-image加入到CSS样式中的话，如下：<br/><br/>.header .top{<br/> width:1000px;<br/> height:116px;<br/> margin-left:auto;<br/> margin-right:auto;<br/> background-image:url(/wp-content/themes/xilin/images/topbg.png); /* Firefox只支持这个方式 */<br/> filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=&#34;/wp-content/themes/xilin/images/topbg.png&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/><br/>这样我们在IE6下看效果的时候PNG的透明层就起作用了。但是当我们返回Firefox的时候，PNG的图没了？别急这是因为AlphaImageLoader滤镜是IE系列浏览器的专属标签，Firefox当然不支持了。必须使用background-image属性在Firefox下才起作用：<br/><br/>如果我们这样吧background-image加入到CSS样式中的话，如下：<br/><br/>.header .top{<br/> width:1000px;<br/> height:116px;<br/> margin-left:auto;<br/> margin-right:auto;<br/>background-image:url(/wp-content/themes/xilin/images/topbg.png); /* Firefox只支持这个方式 */<br/> filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=&#34;/wp-content/themes/xilin/images/topbg.png&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/><br/>会发现IE6下的PNG透明效果又没了！这个是因为在IE6下background-image也起作用了，在IE6下就有两个图重叠在一起，另一个属性会把灰色部分显示出来，所以我们必须使用一些小技巧，让浏览器只去读属于自己的样式代码。<br/><br/>我们知道Firefox、Opera等完全支持PNG透明图片的浏览器也支持子选择器（&gt;），而IE不识别（包括IE7），所有我们可以通过这来定义Firefox、Opera等浏览器中PNG图片的样式。<br/><br/>代码如下：<br/><br/> html &gt; body .top{ /* for Firefox */<br/> background-image:url(/wp-content/themes/xilin/images/topbg.png);<br/> background-repeat: no-repeat;<br/> background-position: center center;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/><br/>同时，我们通过只有IE才识别的通配符（∗），来定义IE浏览器中的滤镜。代码如下：<br/><br/> * .top{ /* for IE6 */<br/>&nbsp;&nbsp;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=&#34;/wp-content/themes/xilin/images/topbg.png&#34;); /* 这里在样式前加下划线是为了防止IE7浏览器来读取这个样式 */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/><br/>这样，咱们要的效果就出来了，IE6、IE7、Firefox、Opera浏览器都能很好的显示这些透明图层，而互不干扰。<br/><br/>注意：AlphaImageLoader滤镜会导致该区域的链接和按钮无效，解决的办法是为链接或按钮添加：position: relative;这样条代码，使其相对浮动。AlphaImageLoader无法设置背景的重复，所以对图片的切图精度会有很高的精确度要求。<br/><br/>像本BLOG的header中的搜索部分一样，大家可以自己去测试一下效果，我也都不多说了，简单的写一下只是起个抛砖引玉的效果，如果大家有更好的办法，希望能拿出来一起分享！<br/>]]></description>
		</item>
		
</channel>
</rss>
