<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>科创网</title>
	<atom:link href="http://www.cotrun.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cotrun.net/blog</link>
	<description>企业信息化实践者，关注教育、通信、互联网、电子商务，专注于软件开发行业。。。</description>
	<lastBuildDate>Fri, 18 May 2012 01:40:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>关于“王八”这个名称的来源</title>
		<link>http://www.cotrun.net/blog/1654.html</link>
		<comments>http://www.cotrun.net/blog/1654.html#comments</comments>
		<pubDate>Fri, 18 May 2012 01:40:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[阅读]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1654</guid>
		<description><![CDATA[关于“王八”这个名称的来源，以往曾有各种各样的说法。如有人根据《新五代史·前蜀世家》的记载，说“王八”指的是五代十国时的前蜀主王建。因为王建年轻时乃是个无赖之徒，专门从事偷驴、宰牛、贩卖私盐的勾当，王建在兄弟姊妹中排行第八，所以和他同乡里的人都叫他“贼王八”。另一种说是，“王八”即“忘八”的谐音，是指忘记了“礼义廉耻孝悌忠信”这八种品德的人。（见赵翼《陔余丛考》）以上两种说法，虽然都不无道理，但所说的“王八”均非民间所忌讳的“王八”。 民间所忌讳的“王八”，指的就是乌龟。因为“王八”即乌龟的别名。（民间俗称乌龟为“王八”）为什么乌龟又叫王八呢？这只要读一读《史记·龟策传》就明白了。在这篇由西汉史学家褚少孙增补的《龟策传》中，作者根据远古时代三王、五帝以“神龟”和蓍草卜筮的传说，将“神龟”分为八种。每一种都有一个名称，第八种名为“王龟‘，于是，后人便将这列在第八位的“王龟”简称为“王八”。久而久之，“王八”也就成了乌龟的别名，人们也常将乌龟与王八放在一起连用。如明代郭勋编的《雍熙乐府》中有一首《叨叨令兼折桂令》，就将“龟儿”和“王八”连在一块，用来指同一种人：“虾儿腰，龟儿辈，玉连环系不起香罗带；脊儿高，绞儿细，绿茸毛生就的王八盖。”由此可见，所谓“王八”指的就是乌龟，是乌龟的别名。既然乌龟又俗称王八，那么人们忌讳称呼“乌龟”的同时也就必然要忌讳称呼“王八”了 乌龟，被冤枉了一千年&#8211;王八和戴绿帽的来历列位，您先品着茶，听我慢慢说说这个&#8221;冤&#8221;。 天底下谁最冤哪？有人说窦娥冤，有人说自己他比窦娥还冤，可要从古至今的天底下来说，这最冤最冤的就数乌龟了，而且还一冤就是一千年哪！直到现在也没给它平反昭雪呀。 乌龟是谁？是海龙王的宰相啊。海龙王为什么让乌龟当宰相？那是因为乌龟寿命长，俗话说：&#8221;千年的王八，万年的龟&#8221;嘛；龟又和贵的发音差不多，所以这乌龟不仅象征&#8221;寿&#8221;，还代表&#8221;贵&#8221;。在过去的年画里，把乌龟、仙鹤、梅花鹿画在一块，就叫&#8221;三寿图&#8221;；把蝙蝠（富）和乌龟（贵）画在一起，就表示&#8221;大富大贵&#8221;的意思。 现在时兴&#8221;吉祥物&#8221;，其实这乌龟就是咱们大汉民族的吉祥物，按照过去的规矩，新姑爷第一次进门的时候，要送给老丈人一个金龟，表示希望岳父老大人长寿。当然了，有钱您就送个真金的，钱少您送个瓷的，上面涂一层金粉也可以，所以，要夸人家姑爷有钱有地位，您就称他是&#8221;金龟婿&#8221;，人家准高兴。 想当年，唐玄宗李隆基有个&#8221;梨园&#8221;，这个皇家乐团的首席乐师，名字就叫李龟年，还有一个大文豪，名字叫陆龟蒙。您说，这乌龟要不是个好东西，能有人叫这个名吗？ 可是，打从明朝起，这乌龟就一天不如一天了。 原来这刘伯温建北京城的时候，曾经降伏了&#8221;苦海幽州&#8221;龙王的九个龙子，给他们分派了任务，让他们各司其职。这龙王的第八个儿子，名为&#8221;赑屃&#8221;（音同&#8221;必细&#8221;），也有说是叫&#8221;霸下&#8221;的，被刘伯温派去驮石碑了，不料这&#8221;龙八王驮石碑&#8221;传来传去传成了&#8221;王八驮石碑&#8221;。 赑屃的模样，是综合玳瑁、鳖、龟的外形创造的，由于玳瑁少有人见，于是就误把赑屃当作龟或是鳖了，于是也有人说是&#8221;乌龟驮石碑&#8221;。您瞧瞧，乌龟这就开始走下坡路啦。 打从春秋诸子百家争鸣一开始，咱们老祖宗就开始道德的建设啦，到了明朝，这个道德标准就浓缩成&#8221;忠孝节悌礼义廉耻&#8221;这八个字。文人历来爱用曲笔，他们要说这个人&#8221;无耻&#8221;，可不直接说，人家说这个人&#8221;忘八&#8221;，就是说这个人忘了那第八个字了，第八个字不就是&#8221;耻&#8221;嘛。 没有想到，&#8221;忘八&#8221;在口耳相传的过程里以讹传讹，逐渐变成&#8221;王八&#8221;了，不知道来龙去脉的又把这个&#8221;王八&#8221;和那个驮石碑的&#8221;王八&#8221;连在了一起，于是这&#8221;乌龟&#8221; 和&#8221;王八&#8221;就成了&#8221;无耻&#8221;的形象代言人了，从此乌龟就彻底蒙上了不白之冤。 这天下最没有羞耻的地方，就数妓院了，因此&#8221;乌龟&#8221;就一下子从神坛跌进了妓院。 过去，交通工具不普及也不发达，已经缠上了小脚的妓女应召去陪客的时候，没有奥迪接送，只能让男工象驮石碑的乌龟那样，把妓女背到酒店，这些把妓女背来背去的男工，就被称为&#8221;龟奴&#8221;；妓女的晚年，颜退色衰无人问津，没有人赎她从良，只好下嫁给&#8221;龟奴&#8221;。这老鸨也经常和嫖客们打情骂俏，搂搂抱抱是少不了的，老鸨的丈夫这个时候只能躲开了，缩在后边做杂务，因此被称为&#8221;乌龟&#8221;或者&#8221;龟头&#8221;，就是&#8221;龟奴&#8221;的头。也就是说，&#8221;龟&#8221;的老婆一定是不贞洁的。 后来推而广之，大家就把所有那些妻子红杏出墙的丈夫，都称为&#8221;乌龟&#8221;了。如果明知妻子有染而又没有愤怒的表现，那就有称为&#8221;缩头乌龟&#8221;了。 一个称呼普及以后，为了隐喻，就产生替代。再后来，大家又根据龟和鳖的头上都有绿色花纹的特点，把&#8221;乌龟&#8221;和&#8221;王八&#8221;叫&#8221;戴绿帽子的&#8221;了。 最多留言日志soap 之 nusoap 的高级用法 传递数组参数Hello world！如何取个好听好记的英文名字？PHP的Socket编程symfony页面跳转Symfony中的表单助手应用示例init 运行级别详细介绍插件Dagon Design Sitemap Generator安装配置方法理解sessionphp与Webservices&#8211;NuSOAP的使用说明]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1654.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery取得select选择的文本与值</title>
		<link>http://www.cotrun.net/blog/1629.html</link>
		<comments>http://www.cotrun.net/blog/1629.html#comments</comments>
		<pubDate>Wed, 09 May 2012 12:54:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web前台]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1629</guid>
		<description><![CDATA[jquery获取select选择的文本与值 获取select ： 获取select 选中的 text : $(&#8220;#ddlregtype&#8221;).find(&#8220;option:selected&#8221;).text(); 获取select选中的 value: $(&#8220;#ddlregtype &#8220;).val(); 获取select选中的索引: $(&#8220;#ddlregtype &#8220;).get(0).selectedindex; 设置select: 设置select 选中的索引： $(&#8220;#ddlregtype &#8220;).get(0).selectedindex=index;//index为索引值 设置select 选中的value： $(&#8220;#ddlregtype &#8220;).attr(&#8220;value&#8221;,&#8221;normal“); $(&#8220;#ddlregtype &#8220;).val(&#8220;normal&#8221;); $(&#8220;#ddlregtype &#8220;).get(0).value = value; 设置select 选中的text: var count=$(&#8220;#ddlregtype option&#8221;).length; for(var i=0;i&#60;count;i++) {           if($(&#8220;#ddlregtype &#8220;).get(0).options[i].text == text) { $(&#8220;#ddlregtype &#8220;).get(0).options[i].selected = true; break; } } $(&#8220;#select_id option[text='jquery']&#8220;).attr(&#8220;selected&#8221;, true); 设置select option项: <a href='http://www.cotrun.net/blog/1629.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1629.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS回车提交表单</title>
		<link>http://www.cotrun.net/blog/1626.html</link>
		<comments>http://www.cotrun.net/blog/1626.html#comments</comments>
		<pubDate>Wed, 09 May 2012 12:38:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web前台]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1626</guid>
		<description><![CDATA[一、整个页面用一个回车提交事件： &#60;input type=&#8221;button&#8221; value=&#8221;回车提交&#8221; id=&#8221;auto&#8221; onclick=&#8221;alert(&#8216;你按了回车&#8217;)&#8221;/&#62; &#60;script type=&#8221;text/javascript&#8221;&#62; document.onkeydown = function(e){ if(!e) e = window.event;//火狐中是 window.event if((e.keyCode &#124;&#124; e.which) == 13){ document.getElementByIdx_x(&#8220;auto&#8221;).click(); } } &#60;/script&#62; 二、某个输入框中注册回车事件，一般用于用户在页面输入后按回车: &#60;script&#62; function enterIn(evt){ var evt=evt?evt:(window.event?window.event:null);//兼容IE和FF if (evt.keyCode==13){ var obj ; queryDistrict(obj,2); } } &#60;/script&#62; &#60;input type=&#8221;text&#8221; id =&#8221;input1&#8243; maxlength=&#8221;3&#8243; onkeydown=&#8221;enterIn(event);&#8221;/&#62; 相关阅读网页表格交替变色方法总结javascript弹出窗体方法汇总showModalDialog 用法详解详解 Javascript 操作 select 标签]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1626.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery表单操作</title>
		<link>http://www.cotrun.net/blog/1624.html</link>
		<comments>http://www.cotrun.net/blog/1624.html#comments</comments>
		<pubDate>Wed, 09 May 2012 12:34:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web前台]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1624</guid>
		<description><![CDATA[jquery取得text,areatext,radio,checkbox,select的值,以及其他一些操作; 1.假如我们有如下页面 &#60;inputtype=&#8221;text&#8221;name=&#8221;textname&#8221;id=&#8221;text_id&#8221;value=&#8221;"&#62;&#60;!&#8211;其余的请自行添加.重要的是要有TYPE.NAME.ID等,一般情况这些都是有的&#8211;&#62; 2.下面来看怎么取得FORM中的各种值等等; functionget_form_value(){/*获得TEXT.AREATEXT的值*/   vartextval = $(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;);//或者   vartextval = $(&#8220;#text_id&#8221;).val();/*获取单选按钮的值*/   varvalradio = $(&#8220;input[@type=radio][@checked]&#8220;).val();/*获取一组名为(items)的radio被选中项的值*/ var item = $(&#8216;input[@name=items][@checked]&#8216;).val(); /*获取复选框的值*/varcheckboxval = $(&#8220;#checkbox_id&#8221;).attr(&#8220;value&#8221;)；/*获取下拉列表的值*/   varselectval = $(&#8216;#select_id&#8217;).val();} 3.另外对表单的其他处理: //控制表单元素： //文本框，文本区域：$(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;,&#8221;);//清空内容$(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;,&#8217;test&#8217;);//填充内容 //多选框checkbox： $(&#8220;#chk_id&#8221;).attr(&#8220;checked&#8221;,&#8221;);//未选中的值$(&#8220;#chk_id&#8221;).attr(&#8220;checked&#8221;,true);//选中的值if($(&#8220;#chk_id&#8221;).attr(&#8216;checked&#8217;)==undefined)//判断是否已经选中//单选组radio：$(&#8220;input[@type=radio]&#8220;).attr(&#8220;checked&#8221;,&#8217;10&#8242;);//设置value=10的单选按钮为当前选中项 //下拉框select： $(&#8220;#select_id&#8221;).attr(&#8220;value&#8221;,&#8217;test&#8217;);//设置value=test的项目为当前选中项$(&#8220;&#60;option value=&#8217;test&#8217;&#62;test&#60;/option&#62;&#60;option value=&#8217;test2&#8242;&#62;test2&#60;/option&#62;&#8221;).appendTo(&#8220;#select_id&#8221;)//添加下拉框的option$(&#8220;#select_id&#8221;).empty()；//清空下拉框 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 注:如果你像NeiLyi以前一样观注这方面内容,请你先了解CSS以及Xpath对元素的选取,因为jQuery就是给合两家之长的.希望看到这句话对你有所帮助. 获取一组名为(items)的radio被选中项的值 var item = $(&#8216;input[@name=items][@checked]&#8216;).val(); 获取select被选中项的文本 var item = $(&#8220;select[@name=items] option[@selected]&#8220;).text(); select下拉框的第二个元素为当前选中值 $(&#8216;#select_id&#8217;)[0].selectedIndex = 1; radio单选组的第二个元素为当前选中值 $(&#8216;input[@name=items]&#8216;).get(1).checked = true; 获取值： <a href='http://www.cotrun.net/blog/1624.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1624.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery对表单元素的取值和赋值操作</title>
		<link>http://www.cotrun.net/blog/1621.html</link>
		<comments>http://www.cotrun.net/blog/1621.html#comments</comments>
		<pubDate>Wed, 09 May 2012 12:14:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web前台]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1621</guid>
		<description><![CDATA[使用常规的思路：$(“#keyword”).value 取值是取不到的，因为此时$(‘#keydord’)已经不是个element，而是个jquery对象，所以应该使用：$(“#keyword”).val() 。 $(&#8220;#keyword&#8221;)[0].value = &#8220;&#8221;;   Luwiso测试通过,有什么不明白请到百度空间留言hi.baidu.com/luwiso /*获得TEXT.AREATEXT的值*/ var textval = $(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;); //或者 var textval = $(&#8220;#text_id&#8221;).val(); /*获取单选按钮的值*/ var valradio = $(&#8220;input[type=radio]:checked&#8221;).val(); /*获取一组名为(items)的radio被选中项的值*/ var item = $(&#8216;input[name=items]:checked&#8217;).val(); /*获取复选框的值*/ var checkboxval = $(&#8220;#checkbox_id&#8221;).attr(&#8220;value&#8221;)； /*获取下拉列表的值*/ var selectval = $(&#8216;#select_id&#8217;).val(); /*文本框文本区域*/ $(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;,&#8221;);//清空内容 $(&#8220;#text_id&#8221;).attr(&#8220;value&#8221;,&#8217;test&#8217;);//填充内容 /*多选框checkbox*/ $(&#8220;#chk_id&#8221;).attr(&#8220;checked&#8221;,&#8221;);//使其未勾选 $(&#8220;#chk_id&#8221;).attr(&#8220;checked&#8221;,true);//勾选 if($(&#8220;#chk_id&#8221;).attr(&#8216;checked&#8217;)==true) //判断是否已经选中 /*单选组radio*/ $(&#8220;input[type=radio]&#8220;).attr(&#8220;checked&#8221;,&#8217;2&#8242;);//设置value=2的项目为当前选中项 /*下拉框select*/ $(&#8220;#select_id&#8221;).attr(&#8220;value&#8221;,&#8217;test&#8217;);//设置value=test的项目为当前选中项 $(&#8220;testtest2&#8243;).appendTo(&#8220;#select_id&#8221;)//添加下拉框的option $(&#8220;#select_id&#8221;).empty()；//清空下拉框 /*获取一组名为(items)的radio被选中项的值*/ var item = <a href='http://www.cotrun.net/blog/1621.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1621.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery常用表单操作</title>
		<link>http://www.cotrun.net/blog/1618.html</link>
		<comments>http://www.cotrun.net/blog/1618.html#comments</comments>
		<pubDate>Wed, 09 May 2012 12:12:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web前台]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1618</guid>
		<description><![CDATA[&#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8220;&#62; &#60;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8220;&#62; &#60;head&#62; &#60;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&#62; &#60;title&#62;梦想E世界&#60;/title&#62; &#60;script type=&#8221;text/javascript&#8221; src=&#8221;./js/jquery.js&#8221;&#62;&#60;/script&#62; &#60;script type=&#8221;text/javascript&#8221;&#62; function fanxuan(){ $(&#8220;input[name='hobby']&#8220;).each(function(){ if($(this).attr(&#8220;checked&#8221;)){ $(this).removeAttr(&#8220;checked&#8221;); } else{ $(this).attr(&#8220;checked&#8221;,&#8217;true&#8217;); } }) } function selectAll(){ $(&#8220;input[name='hobby']&#8220;).attr(&#8220;checked&#8221;,&#8217;true&#8217;);//全选 } function cancelSelect(){ $(&#8220;input[name='hobby']&#8220;).removeAttr(&#8220;checked&#8221;);//取消全选 } function selectOdd(){ $(&#8220;input[name='hobby']:even&#8221;).attr(&#8220;checked&#8221;,&#8217;true&#8217;);//选中所有奇数 } (function($){ $.extend({ setTextValue:function(){ $(&#8220;#text1&#8243;).val(&#8216;梦想E世界&#8217;); //$(&#8220;#text1&#8243;).attr(&#8216;value&#8217;,'梦想E世界&#8217;); }, getTextValue:function(){ alert($(&#8220;#text1&#8243;).val()); //alert($(&#8220;#text1&#8243;).attr(&#8216;value&#8217;); }, <a href='http://www.cotrun.net/blog/1618.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1618.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThinkPHP类库导入机制</title>
		<link>http://www.cotrun.net/blog/1615.html</link>
		<comments>http://www.cotrun.net/blog/1615.html#comments</comments>
		<pubDate>Wed, 02 May 2012 01:45:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[thinkphp]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1615</guid>
		<description><![CDATA[1. 系统类库，应用类库和     ThinkPHP模拟了Java的类库导入机制，统一采用import方法进行类文件的加载。import方法是ThinkPHP内建的类库和文件导入方法，提供了方便和灵活的文件导入机制，完全可以替代PHP的require和include方法。例如： import(&#8220;Think.Util.Session&#8221;); import(&#8220;App.Model.UserModel&#8221;);     import方法具有缓存和检测机制，相同的文件不会重复导入，如果发现导入了不同的位置下面的同名类库文件，系统会提示冲突，例如： import(&#8220;Think.Util.Array&#8221;); import(&#8220;ORG.Util.Array&#8221;);     上面的情况导入会产生引入两个同名的Array.class.php 类，即使实际上的类名可能不存在冲突，但是按照ThinkPHP的规范，类名和文件名是一致的，所以系统会抛出类名冲突的异常，并终止执行。     注意：在Unix或者Linux主机下面是区别大小写的，所以在使用import方法的时候要注意目录名和类库名称的大小写，否则会引入文件失败。     对于import方法，系统会自动识别导入类库文件的位置，ThinkPHP的约定是Think、ORG、Com包的导入以系统基类库为相对起始目录（ThinkPHP/lib/），否则就认为是项目应用类库为起始目录（lib/）。 import(&#8220;Think.Util.Session&#8221;); import(&#8220;ORG.Util.Page&#8221;); 上面两个方法分别导入了系统目录下的Lib/Think/Util/Session.class.php和Lib/ORG/Util/Page.class.php类文件。 要导入项目的应用类库文件也很简单，使用下面的方式就可以了，和导入基类库的方式看起来差不多：import(&#8220;MyApp.Action.UserAction&#8221;); import(&#8220;MyApp.Model.InfoModel&#8221;); 上面的方式分别表示导入MyApp项目下面的Lib/Action/UserAction.class.php和Lib/Model/InfoModel.class.php类文件。通常我们都是在当前项目里面导入所需的类库文件，所以，我们可以使用下面的方式来简化代 import(&#8220;@.Action.UserAction&#8221;); import(&#8220;@.Model.InfoModel&#8221;); 除了看起来简单一些外，还可以方便项目类库的移植。 如果要在当前项目下面导入其他项目的类库，必须保证两个项目的目录是平级的，否则无法使用 import(&#8220;OtherApp.Model.GroupModel&#8221;);的方式来加载其他项目的类库。 我们知道，按照系统的规则，import方法是无法导入具有点号的类库文件的，因为点号会直接转化成斜线，例如我们定义了一个名称为User.Info.class.php 的文件的话，采用： import(&#8220;ORG.User.Info&#8221;);方式加载的话就会出现错误，导致加载的文件不是ORG/User.Info.class.php 文件，而是ORG/User/Info.class.php 文件，这种情况下，我们可以使用： import(&#8220;ORG.User#Info&#8221;);来导入。 对于import方法，系统会自动识别导入类库文件的位置，如果是其它情况的导入，需要指定baseUrl参数，也就是import方法的第二个参数。例如，要导入当前文件所在目录下面的 RBAC/AccessDecisionManager.class.php 文件，可以使用： import(&#8220;RBAC.AccessDecisionManager&#8221;,dirname(__FILE__)); 2. 第三方类库导入 我们知道 ThinkPHP 的基类库都是以.class.php 为后缀的，这是系统内置的一个约定，当然也可以通过 import 的参数来控制，为了更加方便引入其他框架和系统的类库，系统增加了导入第三方类库的功能，第三方类库统一放置在系统的Vendor 目录下面，并且使用vendor 方法导入，其参数和 import 方法是一致的，只是默认的值有针对变化。 例如，我们把 Zend 的 FilterDir.php 放到 <a href='http://www.cotrun.net/blog/1615.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1615.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用discuz实现PHP大文件上传的配置方法</title>
		<link>http://www.cotrun.net/blog/1610.html</link>
		<comments>http://www.cotrun.net/blog/1610.html#comments</comments>
		<pubDate>Thu, 12 Apr 2012 03:44:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[discuz]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1610</guid>
		<description><![CDATA[论坛的附件功能当初设计的初衷并不是为了文件管理，由于服务器配置，php，网络等多方面因素，使得通过论坛上传文件并不是一个好方案。对于确实需要改善论坛附件上传条件的朋友可以尝试将上面提及的参数在php.ini进行设置，以适应大文件上传的需要。同时别忘记在论坛的后台相应做附件限制的地方进行设置。 论坛主要有2个地方可以对附件上传的大小进行限制，级别从高到低依次为： 帖子相关&#8212;附件类型尺寸 用户组&#8212;附件相关 同时，下面提供一个配置指导，来源一些成功通过http上传大附件的朋友的提供，当然，由于大家的服务器配置情况以及网络情况不同，并不一定适用你的情况，可能很多地方需要参照修改： 打开php.ini， 参数 设置 说明 file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir &#8211; 文件上传至服务器上存储临时文件的地方，如果没指定就会用系统默认的临时文件夹 upload_max_filesize 8m 望文生意，即允许上传文件大小的最大值。默认为2M post_max_size 8m 指通过表单POST给PHP的所能接收的最大值，包括表单里的所有值。默认为8M 说明 一般地，设置好上述四个参数后，在网络正常的情况下，上传&#60;=8M的文件是不成问题 但如果要上传&#62;8M的大体积文件，只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速，否则你还得继续设置下面的参数。 max_execution_time 600 每个PHP页面运行的最大时间值(秒)，默认30秒 max_input_time 600 每个PHP页面接收数据所需的最大时间，默认60秒 memory_limit 8m 每个PHP页面所吃掉的最大内存，默认8M   把上述参数修改后，在网络所允许的正常情况下，就可以上传大体积文件了 相关阅读ECShop整合Discuz实现会员同步（图文详解）Discuz静态化的两种方案]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1610.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个简单的PHP导出EXCEL文件的类,包含中文乱码的问题.</title>
		<link>http://www.cotrun.net/blog/1606.html</link>
		<comments>http://www.cotrun.net/blog/1606.html#comments</comments>
		<pubDate>Thu, 22 Mar 2012 14:02:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[excel]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1606</guid>
		<description><![CDATA[&#60;?php /**  *    PHP导出EXCEL文件类.  */ class PhpToExcel{     /** public function start **/     static function xlsBOF()     {         echo pack( &#8220;ssssss&#8221;, 0&#215;809, 0&#215;8, 0&#215;0, 0&#215;10, 0&#215;0, 0&#215;0 );         return;     }     static function xlsEOF()     {         echo pack( &#8220;ss&#8221;, 0x0A, 0&#215;00 );         return;     }     static function xlsWriteNumber($Row, <a href='http://www.cotrun.net/blog/1606.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1606.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yate 网络电话引擎 Linux下安装</title>
		<link>http://www.cotrun.net/blog/1600.html</link>
		<comments>http://www.cotrun.net/blog/1600.html#comments</comments>
		<pubDate>Fri, 16 Mar 2012 01:55:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[voip]]></category>
		<category><![CDATA[yate]]></category>

		<guid isPermaLink="false">http://www.cotrun.net/blog/?p=1600</guid>
		<description><![CDATA[Yate （Yet Another Telephony Engine） 主要支持功能： VoIP 服务器 VoIP 客户端 VoIP to PSTN 网关 PC2Phone and Phone2PC 网关 H.323 网守 H.323 多端点服务器 H.323&#60;-&#62;SIP 转换代理 SIP session border controller SIP 路由 SIP 注册服务 Jingle 即时聊天 ISDN passive and active recorder IAX2服务器客户端 电话服务器和客户端 呼叫中心服务器 (会议，队列) IVR语音交互应答 预付费，后付费电话卡系统   兼容Asteirsk的zaptel中继卡测试环境准备：RedHat Linux AS 4 U4 DVD 镜像 或者Trixbox 安装包准备 cd <a href='http://www.cotrun.net/blog/1600.html'>[...]</a>]]></description>
		<wfw:commentRss>http://www.cotrun.net/blog/1600.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

