<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title></title>
		<link>http://www.liupeng.us/category//</link>
		<description>WEB开发中的可用性和用户体验</description>
		<copyright>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</copyright>
		<generator>SaBlog-X Version Plus 2.0 Build 20081204</generator>
		<lastBuildDate>Thu, 09 Feb 2012 13:10:40 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://www.liupeng.us/archives/133/</guid>
			<title>PHP自制密保卡程序</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>密保卡，之前我写过<a target="_blank" href="http://liupeng.us/archives/10/">一篇讨论</a>了下，今天拿出一个改进版的。</p>
<p>这里只是嵌入页面，<a href="http://liupeng.us/demo/lock/index.php" target="_blank">点击进入独立的演示地址</a></p>
<p><iframe width="600" height="360" frameborder="0" scrolling="no" id="sgnframe" framespacing="0" marginheight="0" border="0" src="http://liupeng.us/demo/lock/" marginwidth="0"></iframe></p>]]></description>
			<link>http://www.liupeng.us/archives/133/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2010-11-07 21:59</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/fetion-new-api-sablog-comment-sms-notice/</guid>
			<title>博客留言短信提醒更新</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>这几天突然发现手机不吵了，看博客留言也没有增加，如是点进文章里面看看，发现了留言，而右侧的Sidebar居然不显示，估计是数据库有值，而没有更新缓存。</p>
<p>最初发现短信留言出错是在<a target="_blank" href="http://www.samool.com/">Samool</a>的博客上看到的，因为他使用的代码和我相同，但是解析出SSIC错误，估计是飞信更改了最新的协议了。<a href="http://liupeng.us/fetion-api-exp/" target="_blank">以前的代码</a>不管用了，回头好好研究下飞信的协议。不过为了解眼前之急，还是在网上找到了解决方案。这次代码更简单了，不需要引入任何PHP文件，有热心的童鞋给我们提供了服务中转信息，不过我们的手机号和密码有没有记录在他的数据中，就无从知晓了。安全性还是不能保证。下次还是自己写一个吧。</p>
<p>Sablog-X 2.0 具体方法：</p>
<p>上传<a href="http://www.liupeng.us/attachment.php?id=261" title="class_curl.rar&#13;&#13;大小:933 bytes, 下载次数:625" target="_blank">class_curl.rar</a>到根目录，然后打开根目录下<strong>post.php</strong> 找到</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="vars">$cmid</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;insert_id();&nbsp;</span></span></li></ol></pre>
<p>在下面添加</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//add&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$username</span><span>!=</span><span class="string">'后台登陆名'</span><span>)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">require_once</span><span>(</span><span class="string">'class_curl.php'</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;username&quot;</span><span>]&nbsp;=&nbsp;你的手机号;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;password&quot;</span><span>]&nbsp;=&nbsp;</span><span class="string">&quot;手机密码&quot;</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;sendto&quot;</span><span>]&nbsp;=&nbsp;你的手机号;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;message&quot;</span><span>]&nbsp;=&nbsp;</span><span class="vars">$username</span><span>.</span><span class="string">&quot;说：&quot;</span><span>.</span><span class="vars">$content</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$curl</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Curl_Class();&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@<span class="vars">$curl</span><span>-&gt;post(</span><span class="string">&quot;http://sms.api.bz/fetion.php&quot;</span><span>,&nbsp;</span><span class="vars">$data</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//END&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li></ol></pre>
<p>测试一下OK了，中间的工作已经都交给了sms.api.bz 完成了。</p>
<p>如果你测试出现如下结果：</p>
<p><em>Warning: Cannot modify header information - headers already sent by</em></p>
<p>那么请看下面这段话</p>
<div class="codebox">编码问题，utf-8有两种模式，utf-8 with bom 和utf-8 with no bom ,utf-8 with bom 会在头部输出隐藏的信息，我们知道header()跟session_start()函数前是不能有任何输出的，所以就会产生这个问题，用编辑器（不要用记事本）打开这个文件，另存为utf-8 with not bom这种模式就行了。</div>
<p><div class="attach"><a href="http://www.liupeng.us/attachment.php?id=260" target="_blank"><img src="http://www.liupeng.us/attachments/date_200911/thumb_c51fb28cd5448ecc0b79eb7d126266aa.jpg" border="0" alt="&#13;&#13;大小: 44.1 K&#13;尺寸: 500 x 224&#13;浏览: 502 次&#13;点击打开新窗口浏览全图" width="500" height="224" /></a></div></p>
<p>在此感谢金山的<a target="_blank" href="http://blog.s135.com/">张宴组长</a>提供无私飞信中转服务.更多详细关于飞信短信提醒请移步 <a target="_blank" href="http://blog.s135.com/fetion_api/">中国移动飞信免费发短信API接口（第三方 Fetion API）</a></p>]]></description>
			<link>http://www.liupeng.us/fetion-new-api-sablog-comment-sms-notice/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-11-20 01:05</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/fetion-api-exp/</guid>
			<title>Fetion API使用实例</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p><span style="color: rgb(255, 102, 0);"><strong>注意此实例已经失效，请移步最新地址：</strong></span><a href="http://liupeng.us/fetion-new-api-sablog-comment-sms-notice/" target="_blank">《博客留言短信提醒更新》</a></p>
<p>前天修改了下博客评论手机提醒功能，发布了一篇 <a target="_blank" href="http://liupeng.us/sablog-fetion-sms-notice/">《Sablog添加评论手机短信提示功能》</a> 文章之后，确实很爽，朋友们留言，手机马上就受到提示。着实很爽，总有种直接&ldquo;回复短信&rdquo;进行评论的冲动，但是我想这个是暂时不可能的。<a target="_blank" href="http://huangj.in/">HuangJ.in</a> 同学一直想要Fetion的API，其实也不能算是API了，只是提供了一个URL地址，供用户从WEB界面GET数据从而实现发送功能。下面看看我自己使用的飞信API：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">include</span><span>&nbsp;</span><span class="string">&quot;./class_fetion.php&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt">&nbsp;</li><li class="alt"><span><span class="comment">//new&nbsp;fetion&nbsp;class&nbsp;and&nbsp;init 2个参数 一个是手机号，一个是自己的手机密码 </span><span><br /></span></span></li><li class="alt"><span><span class="vars">$fetion</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;fetion(</span><span class="string">'13911444932'</span><span>,&nbsp;</span><span class="string">'111111'</span><span>);</span></span></li><li><span><span class="vars">$fetion</span><span>-&gt;init()&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="keyword">die</span><span>(</span><span class="string">&quot;fetion&nbsp;init&nbsp;failure!\n&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="comment">//example&nbsp;1 2个参数 一个是tel:手机号 一个是短信内容</span><span> <br /></span></span></li><li class="alt"><span><span class="vars">$fetion</span><span>-&gt;sent_sms(</span><span class="string">'tel:13911444932'</span><span>,&nbsp;</span><span class="string">'测试短信来自，时光博客'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;</span><span>&nbsp;</span></li><li><span>?&gt;&nbsp;&nbsp;</span></li></ol></pre>
<p>上面的这个是简单的使用，函数被封装在class_fetion.php文件里面了。<a target="_blank" href="http://liupeng.us/demo/fetion-api.rar">【点击下载】</a></p>
<p>另外在GG的时候也发现了 <a target="_blank" href="https://fetionapi.appspot.com/">Google App Engine提供的API</a></p>
<p>使用起来很简单，只要填入自己的手机号，和密码，即可。前提是自己必须 <a target="_blank" href="http://www.fetion.com.cn/">开通飞信</a> 功能（该功能免费）。</p>
<p>怎么使用就看自己的需求了，Sablog 2.0用户只需要上传压缩包中的<strong>class_fetion.php</strong>到根目录，修改根目录下的<strong>post.php</strong>文件：</p>
<p>搜索</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="vars">$cmid</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;insert_id();&nbsp;</span></span></li></ol></pre>
<p>在下面加上</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//add&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$username</span><span>!=</span><span class="string">'你博客的管理员用户名，我的是Kevin'</span><span>)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$r</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;fetch_one_array(</span><span class="string">&quot;SELECT&nbsp;title&nbsp;FROM&nbsp;{$db_prefix}articles&nbsp;WHERE&nbsp;articleid='$articleid'&nbsp;LIMIT&nbsp;1&quot;</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">include</span><span>&nbsp;</span><span class="string">&quot;./class_fetion.php&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//new&nbsp;fetion&nbsp;class&nbsp;and&nbsp;init&nbsp;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;fetion(</span><span class="string">'你的手机号'</span><span>,&nbsp;</span><span class="string">'手机服务密码'</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>-&gt;init()&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="keyword">die</span><span>(</span><span class="string">&quot;fetion&nbsp;init&nbsp;failure!\n&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//$fetion-&gt;sent_sms('tel:你的手机号', $username.'在时光博客上发表对文章&nbsp;'.$r['title'].'&nbsp;的评论：'.$content);</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>-&gt;sent_sms(</span><span class="string">'tel:你的手机号'</span><span>,&nbsp;</span><span class="vars">$username</span><span>.</span><span class="string">'说：'</span><span>.</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//END&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li></ol></pre>
<p>即可，加上username过滤是为了避免自己的回复也被发送到手机上。</p>
<p>附：<a target="_blank" href="http://code.google.com/p/philna/downloads/list">Wordpress博客系统评论短信提示管理员插件</a></p>]]></description>
			<link>http://www.liupeng.us/fetion-api-exp/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-04 17:39</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/sablog-fetion-sms-notice/</guid>
			<title>Sablog添加评论手机短信提示功能</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>之前看到过 <a target="_blank" href="http://huangj.in/">HuangJ</a> 和 <a target="_blank" href="http://www.lineks.cn/">Lin'X</a> 写过评论回复的邮件提示和基于移动139邮箱的手机邮件提醒。都相当的优秀，这几天闲就在网上看到了飞信的公开协议，参看了一些资料，对本博客系统Sablog-X 2.0进行了修改，添加上了文章评论手机短信提示功能。</p>
<p><strong>前提：</strong></p>
<ol>
    <li>必须为移动的号，联通暂时没有支持</li>
    <li>必须开通飞信功能</li>
</ol>
<p><strong>看看测试结果：</strong></p>
<p><div class="attach"><a href="http://www.liupeng.us/attachment.php?id=252" target="_blank"><img src="http://www.liupeng.us/attachments//date_200907/2405635d83a99629178dfaba63d9907c.gif" border="0" alt="&#13;&#13;大小: 30.04 K&#13;尺寸: 500 x 360&#13;浏览: 431 次&#13;点击打开新窗口浏览全图" width="500" height="360" /></a></div></p>
<p>上面2图就是测试的结果，时间的差异是服务器时间和手机时间不同产生的，理论上，网页显示的时间要比手机显示的早一点点。</p>
<p>发信的是本人的飞信，相当于自己给自己发短信一样。</p>
<p>这样以来，以后有了新的回复，就能第一时间收到，而且不花一分钱，不需要上网收邮件看了^ ^.</p>
<p>PS：其实不只Sablog可以做到，wordpress也能做到，只要在相应文件添加发送代码即可。</p>]]></description>
			<link>http://www.liupeng.us/sablog-fetion-sms-notice/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-02 21:05</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/php-excel-ascii-data-import/</guid>
			<title>基于PHP的EXCEL的数据导入</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p><strong>问题背景：</strong></p>
<p>前段时间做毕业设计的时候，客户有一个需求，要求实现上传EXCEL文件，对文件中的数据进行数据库入库。困难的是，要实现EXCEL数据文件的信息排列任意性无错兼容导入。导入过程中发现，PHP读取EXCEL的时候，出现的是ASCII值，而非汉字和字母数字。当然最后循环入库的时候，数据库中的也都是ASCII，于是要对EXCEL文件进行ASCII码值的转换。 （未经转换的）</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">tr</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#23398&amp;#21495</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#22995&amp;#21517</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#24615&amp;#21035</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#30005&amp;#35805&amp;#21495&amp;#30721</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p><strong>查看 基于PHP的EXCEL的数据导入的</strong> <a target="_blank" href="http://liupeng.us/demo/excel/">【在线演示】 </a></p>
<p><strong>解决方案：</strong></p>
<p>当用PHP读取数据文件的时候，遇到传入的字符串内含&ldquo;#&amp;&rdquo;的时候直接进行decode，否则直接输出，因为如果是纯数字、字母、下划线等符号，读取的是未经过ASCII码转换的。</p>
<p>PHP读取EXCEL（限EXCEL2003）文件的方法：</p>
<p>先加载EXCEL数据处理类，然后配置好相关的参数，文件名，Sheet 名执行读取函数Read_Excel_File，获取返回数据</p>
<p>不知道Sheet名的请看下图</p>
<p><div class="attach"><a href="http://www.liupeng.us/attachment.php?id=246" target="_blank"><img src="http://www.liupeng.us/attachments//date_200907/8d21f1577eecd1bb2e7301144b9cc082.jpg" border="0" alt="&#13;&#13;大小: 57.36 K&#13;尺寸: 436 x 327&#13;浏览: 227 次&#13;点击打开新窗口浏览全图" width="436" height="327" /></a></div></p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span><span class="comment">//加载EXCEL操作类</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="keyword">require_once</span><span>&nbsp;</span><span class="string">'./excel_class.php'</span><span>;&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//加载EXCEL文件Sheet1名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span></span></li><li><span><span class="vars">$file_sheet</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;Sheet1&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>Read_Excel_File(<span class="string">&quot;test.xls&quot;</span><span>,</span><span class="vars">$return</span><span>);&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//$return[$file_sheet]返回EXCEL行数</span><span>&nbsp;</span></span></li><li><span><span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$i</span><span>=0;</span><span class="vars">$i</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>]);</span><span class="vars">$i</span><span>++)&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$j</span><span>=0;</span><span class="vars">$j</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>][</span><span class="vars">$i</span><span>]);</span><span class="vars">$j</span><span>++)&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;td&gt;&quot;</span><span>.</span><span class="vars">$return</span><span>[</span></span><span><span class="vars">$file_sheet</span></span><span><span>][</span><span class="vars">$i</span><span>][</span><span class="vars">$j</span><span>].</span><span class="string">&quot;&lt;/td&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;/tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>?&gt;&nbsp;</span></li></ol></pre>
<p>在进行逐行读取EXCEL CELL数据的时候，只要对CELL数据进行ascii类的decode方法就可以了。</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//这里的$i=0是指定读取起始行数</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$i</span><span>=0;</span><span class="vars">$i</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>]);</span><span class="vars">$i</span><span>++)&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$j</span><span>=0;</span><span class="vars">$j</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>][</span><span class="vars">$i</span><span>]);</span><span class="vars">$j</span><span>++)&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;td&gt;&quot;</span><span>.</span><span class="vars">$ascii</span><span>-&gt;decode(</span><span class="vars">$return</span><span>[</span></span><span><span class="vars">$file_sheet</span></span><span><span>][</span><span class="vars">$i</span><span>][</span><span class="vars">$j</span><span>]).</span><span class="string">&quot;&lt;/td&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;/tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;?&gt;&nbsp;</span></li></ol></pre>
<p>相关的操作类如下：</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">class</span><span>&nbsp;ascii&nbsp;</span></span></li><li><span>{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">function</span><span>&nbsp;decode(</span><span class="vars">$str</span><span>)&nbsp;{&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$flag</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;&amp;#&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$pos</span><span>&nbsp;=&nbsp;</span><span class="func">strpos</span><span>(</span><span class="vars">$str</span><span>,&nbsp;</span><span class="vars">$flag</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$pos</span><span>&nbsp;===&nbsp;FALSE)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$str</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<span class="keyword">else</span><span>{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;preg_match_all(<span class="string">&quot;/([0-9]{2,5})/&quot;</span><span>,&nbsp;</span><span class="vars">$str</span><span>,</span><span class="vars">$a</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$a</span><span>&nbsp;=&nbsp;</span><span class="vars">$a</span><span>[0];&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">foreach</span><span>&nbsp;(</span><span class="vars">$a</span><span>&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="vars">$dec</span><span>){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;&lt;&nbsp;128)&nbsp;{&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(</span><span class="vars">$dec</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;&lt;&nbsp;2048)&nbsp;{&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(192&nbsp;+&nbsp;((</span><span class="vars">$dec</span><span>&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64))&nbsp;/&nbsp;64));&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(224&nbsp;+&nbsp;((</span><span class="vars">$dec</span><span>&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;4096))&nbsp;/&nbsp;4096));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(((</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;4096)&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64))&nbsp;/&nbsp;64));&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$utf</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>本例的源码下载：<a href="http://www.liupeng.us/attachment.php?id=247" title="php-excel-import.rar&#13;&#13;大小:15.82 K, 下载次数:1031" target="_blank">php-excel-import.rar</a></p>]]></description>
			<link>http://www.liupeng.us/php-excel-ascii-data-import/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-01 17:25</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/fedora-10-zend-studio-interface/</guid>
			<title>Fedora 10使用Zend Studio 5.5界面不显示解决方案</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p><img align="left" src="http://liupeng.us/imgcache/fedora.gif" alt="" />安装了Fedora 10之后，为了适应PHP的开发环境，安装了WIN下面比较喜欢的Zend Studio 5.5，安装运行后发现，界面无法出来,只出现了对话框，在网上搜到了解决方案！</p>
<p>解決：<br />
用vi打開Zend_Development_Environment（和你選擇安裝的路徑有關，找下），打開後輸入<br />
/set nu<br />
在輸入1693<br />
在其附近會有類似下面的代碼（行數可能不同，不過應該差不多）</p>
<div class="codebox">1693:<br />
1694: debugOut &quot;&quot;<br />
1695: unset POSIXLY_CORRECT<br />
1696: if [ $DO_NOT_FORK ]</div>
<p>改成（就是加了1693那行）</p>
<div class="codebox">1693: options=&quot;$options -Dawt.toolkit=sun.awt.motif.MToolkit&quot;<br />
1694: debugOut &quot;&quot;<br />
1695: unset POSIXLY_CORRECT<br />
1696: if [ $DO_NOT_FORK ]</div>
<p>當解決上面的問題後再運行zend studio 可能會出現沒有lixxp庫的錯誤，這時只需安裝上libxp就可以了。請根據你的linux發行版本進行相應的安培訓</p>
<p>yum install libXp.so.6</p>]]></description>
			<link>http://www.liupeng.us/fedora-10-zend-studio-interface/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-01-15 13:56</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/fedora-10-phpmyadmin-php-mbstring/</guid>
			<title>phpMyAdmin php-mbstring没有安装</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p><img align="left" src="http://liupeng.us/imgcache/fedora.gif" alt="" />问题描述：当配置好LAMP后，没有发现 PHP 的扩展设置mbstring， 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串，可能产生不可意料的结果.</p>
<p>解决办法：上网查了一下都说修改php.ini:<br />
;extension=php_mbstring.dll<br />
去掉前面的分号，重启WEB服务器</p>
<p>yum list | grep php-mbstring<br />
php-mbstring.i386 5.2.6-jason.1 utterramblings</p>
<p>发现php-mbstring没有安装，于是yum -y install php-mbstring</p>
<p>问题解决了。</p>]]></description>
			<link>http://www.liupeng.us/fedora-10-phpmyadmin-php-mbstring/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2009-01-15 13:28</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/Linux-Remote-Desktop-Connect-Rdesktop/</guid>
			<title>Linux下远程连接Windows的工具-Rdesktop</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>&nbsp;</p>
<p>最近在使用Linux的时候，碰到些问题，像下载的工具，Linux下没有迅雷一样优秀的多线程工具，于是想到远程到自己的Windows Server 2003 Enterprise 服务器上去，在上面下载后，再复制过来。</p>
<p>在网上搜了下工具，于是找到了<a target="_blank" href="http://www.rdesktop.org/">rdesktop</a>这个工具。</p>
<p>工具官方地址为：<a href="http://www.rdesktop.org/">http://www.rdesktop.org/</a></p>
<p>下载地址为：<a href="http://prdownloads.sourceforge.net/rdesktop/rdesktop-1.6.0.tar.gz?download">http://prdownloads.sourceforge.net/rdesktop/rdesktop-1.6.0.tar.gz?download</a></p>
<p>具体用法：</p>
<p>下载解压安装后，在终端执行</p>
<p>&nbsp;</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>./rdesktop&nbsp;-u&nbsp;administrator&nbsp;-f&nbsp;-r&nbsp;clipboard:PRIMARYCLIPBOARD&nbsp;-r&nbsp;</span><span class="attribute">disk:floppy</span><span>=/home/liupeng/down IP地址&nbsp;</span></span></li></ol></pre>
<p><strong>-u</strong> 和 <strong>-p</strong>: 指定用户名和密码<br />
<strong>-f </strong>: 默认全屏， 需要用Ctrl-Alt-Enter组合键进行全屏模式切换。<br />
<strong>-r clipboard:PRIMARYCLIPBOARD </strong>: 这个一定要加上，要不然不能在主机Linux和服务器Windows直接复制粘贴文字了。贴中文也没有问题。<br />
<strong>-r disk:sunray<span>=/home/liupeng/down</span></strong>: 指定主机Linux上的一个目录映射到远程Windows上的硬盘，传送文件就不用再靠Samba或者FTP了。</p>
<p>这样在使用的过程中是默认全屏的，可以通过-g参数添加分辨率大小，可以用-r添加更多的参数。还可以添加另外的参数。如liupeng经常使用的参数为：</p>
<p>&nbsp;</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>rdesktop&nbsp;-u&nbsp;administrator&nbsp;-p&nbsp;111111 -g&nbsp;800*600&nbsp;-a&nbsp;16&nbsp;-r&nbsp;clipboard:PRIMARYCLIPBOARD&nbsp;-r&nbsp;</span><span class="attribute">disk:floppy</span><span>=/home/liupeng/down&nbsp;10.1.10.190&nbsp;</span></span></li></ol></pre>
<p>前面加上用户名密码后，远程连接的时候就不需要键入用户名和密码，直接进入服务器了，上面命令中 -g 制定分辨率 ，最后的IP地址为要远程连接的服务器IP</p>]]></description>
			<link>http://www.liupeng.us/Linux-Remote-Desktop-Connect-Rdesktop/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-12-14 15:31</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/Fedora-10-using-unrar-rarfiles/</guid>
			<title>fedora 10 从安装到使用 - UNRAR RARFILES</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>Linux里默认情况下并没有安装解压.rar文件的程序，因为RAR软件是收费的，不过，我们可以到whttp://www.skycn.com/soft/3455.html下载安装RAR 3.7.1 for Linux 程序。</p>
<p>　　软件下载安装后生成一个压缩程序rar 和一个解压缩程序unrar。我们可以用下面的命令解压.rar 文件：</p>
<p>　　$ unrar e myfile.rar</p>
<p>　　如果你要压缩rar 文件，可以用：</p>
<p>　　$ rar a myfile *.txt</p>
<p>　　这条命令会将所有以txt为后缀的文件，打包压缩后命名为myfile.rar。</p>
<p>而对于zip文件来说，Linux自带有unzip命令来解压，所以建议使用Linux和windows的朋友们，以后打包的时候直接打包成zip的文件，这样就比较方便了。另外把zip的命令也发一下。</p>
<p>Linux 里提供了一个叫unzip 的解压程序，使用的方法很简单：</p>
<p>　　$ unzip myfile.zip</p>
<p>　　上面的命令操作会将压缩文件myfile.zip 解压。</p>
<p>　　相对应，Linux 还提供了一个叫zip 的压缩程序，它可以将文件压缩为. z i p 文件，如：</p>
<p>　　$zip myfile.zip filename</p>
<p>　　这条命令会将filename压缩为myfile.zip 文件。</p>]]></description>
			<link>http://www.liupeng.us/Fedora-10-using-unrar-rarfiles/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-12-02 17:27</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/Fedora-using-root-login-enabled/</guid>
			<title>fedora 10 从安装到使用 - ROOT login</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>发现fc 10没法用gdm登录系统x,感觉有点不适应，可是这个是不是跟ubuntu linux学习的呢？估计十有八九是的！</p>
<p>以我用linux的经验来说，root用户下的操作很容易导致严重的问题，很多误操作是root惹的祸，gdm的登陆窗口对root用户就应该封杀，禁止了root帐户的本地X的登陆，提升了一点的安全性，而ubuntu默认就不开root，用sudo。fedora 10之前系统都是允许root登录的，这次fedora 10 改进了，是一个很大的进步！</p>
<p>如果需要root登录的可以用这个方法：</p>
<p>1.su<br />
2.输入密码<br />
3./etc/pam.d/gdm<br />
将/etc/pam.d/gdm中的<br />
#auth required pam_succeed_if.so user != root quiet注释了，就ok的！</p>
<p>不过还是推荐用fc 10默认的吧，毕竟安全一些。</p>]]></description>
			<link>http://www.liupeng.us/Fedora-using-root-login-enabled/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-12-02 17:09</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/Fedora-10-download/</guid>
			<title>fedora 10 从安装到使用 - Download</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>FC10,出来的时候大概是11月26日，因为存在时差问题.技术组周瑜同学就第一时间把Fedora 10 下载下来了。刚好我的全部工作已经完成，就把WINDOWS给格式化了。于是刻盘安装，调试之类就开始了。下面记录下自己第一次使用非虚拟机式的Fedora 10的全过程。</p>
<p>来啊！一起加速的，现在下载的速度不是很快的，推荐用BT下载的，缓解服务器的压力。</p>
<div>下载地址：<a href="http://torrent.fedoraproject.org/" target="_blank">http://torrent.fedoraproject.org/</a></div>
<div>
<p>镜像地址：<a href="http://mirrors.kernel.org/fedora/releases/10/Fedora/i386/iso/Fedora-10-i386-DVD.iso" target="_blank"><br />
</a></p>
<p><a href="http://mirrors.kernel.org/fedora/releases/10/Fedora/i386/iso/Fedora-10-i386-DVD.iso" target="_blank">http://mirrors.kernel.org/fedora/releases/10/Fedora/i386/iso/Fedora-10-i386-DVD.iso</a></p>
<p>我是直接下载ISO镜像文件，刻盘然后DVD安装的，没有在虚拟机中进行.用虚拟机的朋友直接设置好分区后，加载一下ISO就可以了。</p>
</div>]]></description>
			<link>http://www.liupeng.us/Fedora-10-download/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-12-02 16:57</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/fdeora-10-Bug-469434-subnetmask-not-saved/</guid>
			<title>Fedora 10 网关地址填写-FC10上网问题</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>技术组有个同学安装了Fedora10,上不了网具体症状如下:</p>
<p><span style="color: rgb(0, 0, 255);"><span style="font-family: Arial;">默认安装完成后，右上角的网络配置上 wired ..和eth0为灰色。。不能点选<br />
然后禁用networdmanager启动network以太网设置静态IP的时候，不管怎么设置， 子网掩码都和网关一样，<br />
比如说：地址：192.168.0.22<br />
子网掩码: 192.168.0.1 //不管怎么输入255.255.255.0 ，都不行！<br />
网关： 192.168.0.1 //这里改了255.255.255.0的话，上面就也成255.255.255.0了</span></span></p>
<p>怎么改都会出现上述的状况!于是GG了下,找到问题的所在,原来自FC9后就一直出现这样的状况,FC10出了FINAL版后还没有修复.不过网上已经有高人给出了方案:</p>
<p><strong>方案一:</strong></p>
<p>进入FC10,执行终端命令(也可以用VI修改)</p>
<p><span style="color: rgb(255, 0, 0);">$ su -c 'gedit /etc/sysconfig/networking/devices/ifcfg-eth0'</span></p>
<p>直接修改文件中的子网掩码信息就可以<br />
代码为:</p>
<div class="codebox"># Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express<br />
DEVICE=eth0<br />
HWADDR=00:19:b9:0d:2f:d5<br />
ONBOOT=yes<br />
BOOTPROTO=none<br />
USERCTL=no<br />
PEERDNS=no<br />
IPV6INIT=no<br />
NM_CONTROLLED=no<br />
TYPE=Ethernet<br />
NETMASK=255.255.255.0&nbsp;&nbsp;<br />
IPADDR=192.168.0.7<br />
GATEWAY=192.168.0.1</div>
<div style="text-align: left;" dir="ltr">然后重新激活下网卡就可以了.</div>
<div style="text-align: left;" dir="ltr">&nbsp;</div>
<div style="text-align: left;" dir="ltr"><strong>方案二:</strong></div>
<div style="text-align: left;" dir="ltr">&nbsp;</div>
<div style="text-align: left;" dir="ltr">下载2个软件包,升级就可以了,是RPM包!</div>
<div style="text-align: left;" dir="ltr">&nbsp;</div>
<div style="text-align: left;" dir="ltr">官方下载 - 补丁1:<a href="http://koji.fedoraproject.org/koji/getfile?taskID=915769&amp;name=system-config-network-1.5.94-1.fc10.noarch.rpm">http://koji.fedoraproject.org/koji/getfile?taskID=915769&amp;name=system-config-network-1.5.94-1.fc10.noarch.rpm</a><br />
官方下载 - 补丁2:<a href="http://koji.fedoraproject.org/koji/getfile?taskID=915769&amp;name=system-config-network-tui-1.5.94-1.fc10.noarch.rpm">http://koji.fedoraproject.org/koji/getfile?taskID=915769&amp;name=system-config-network-tui-1.5.94-1.fc10.noarch.rpm</a></div>
<div style="text-align: left;" dir="ltr">&nbsp;</div>
<div style="text-align: left;" dir="ltr">
<div style="text-align: left;" dir="ltr">本站下载 - 补丁1:<a href="http://www.liupeng.us/attachment.php?id=59" title="system-config-network-1.5.94-2.fc10.noarch.rpm&#13;&#13;大小:361.3 K, 下载次数:5820" target="_blank">system-config-network-1.5.94-2.fc10.noarch.rpm</a></div>
<div style="text-align: left;" dir="ltr">本站下载 - 补丁2:<a href="http://www.liupeng.us/attachment.php?id=60" title="system-config-network-tui-1.5.94-2.fc10.noarch.rpm&#13;&#13;大小:1.85 M, 下载次数:7504" target="_blank">system-config-network-tui-1.5.94-2.fc10.noarch.rpm</a></div>
</div>
<div style="text-align: left;" dir="ltr">&nbsp;</div>
<div style="text-align: left;" dir="ltr">参考页面: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=469434" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=469434</a></div>]]></description>
			<link>http://www.liupeng.us/fdeora-10-Bug-469434-subnetmask-not-saved/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-11-28 23:51</pubDate>
		</item>
		<item>
			<guid>http://www.liupeng.us/archives/34/</guid>
			<title>Discuz！注册修改小心得</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://www.liupeng.us/ ) : <p>不得不说DZ的构架做的相当的好，以至于要进行第三方的开发的时候，非常高效，简洁和安全。</p>
<p>需求背景：</p>
<p>由于学校需要，对论坛进行实名注册。改版前BBS所使用的是DVBBS7.1.0 SP1 + SQL SERVER2000，后来由于学校要求，服务器全部部署CENTER OS5。所以，BBS程序也得修改。相应换成了DZ！于是实名注册就迫在眉睫。</p>
<p>方案实施：</p>
<p>开始策划有2个方案。</p>
<ol>
    <li>不修改DZ源文件的情况下，由于DZ自带有审核注册。所以考虑到审核注册，DZ后台可以添加用户附加属性字段（例如：年级，系别，学号，身份号），用户提交相应注册信息后为未审核状态，管理员在后台看到相关信息后，再去学生数据库查看学生信息是否真实匹配，来决定审核和不审核。</li>
    <li>修改DZ的注册页面和后台代码，在注册表单中增添几个表单元素，注册的时候填写好，然后修改注册处理页面，来匹配数据库用户信息，匹配成功则返回注册成功，否则提示相关注册错误信息！</li>
</ol>
<p>结论：</p>
<p>显然第2种方法比较高明而且省力和安全，便于维护。难免会因为人力原因，造成错误审核之类的。</p>
<p>注册主要修改五个文件：</p>
<p>ajax.php,<br />
register.php<br />
default\messages.lang.php<br />
default\register.htm<br />
default\memcp_profile.htm<br />
&nbsp;</p>
<p>具体修改代码参考原始注册代码很容易编写！主要是思路要确立好，这里不得不说，构架真的很重要还有就是设计好。一个好的低耦合性的设计在后期给开发人员和使用者来说是一个福音。</p>
<p>&nbsp;</p>]]></description>
			<link>http://www.liupeng.us/archives/34/</link>
			<category domain="http://www.liupeng.us/category/program/">PHP</category>
			<pubDate>2008-11-18 12:20</pubDate>
		</item>
	</channel>
</rss>

