2013年5月24日

提高php性能的几点建议

摘要: PHP技巧汇总:提高PHP性能的53个技巧用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row['id]‘的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执 阅读全文
posted @ 2013-05-24 12:01 lzsnolimit 阅读(124) 评论(0) 推荐(0)

simple_html_dom轻量级网页解析库

摘要: simple_html_dom是一个开源的轻量级网页解析器,此库支持的选择器不是特别多,但配合一下php自带的字符串处理函数使用已经绰绰有余。这是一个中文文档。http://www.ecartchina.com/php-simple-html-dom/manual.htm此库多资源占用也不是很多,我写的一个小程序,使用apache+mysql解析一个复杂的网页,apache只占27M内存,资源占用的表现上很满意。这个库同样有其他库共有的中文乱码问题,解析gbk编码时,tag里边的中文被解析为乱码。但是如果使用innertext输出,就不是乱码了。大部分时候,遇到奇形怪状的网页本库都能很好的解析 阅读全文
posted @ 2013-05-24 11:09 lzsnolimit 阅读(448) 评论(0) 推荐(0)

C++ good() eof() fail() 那点事

摘要: while(!infile.fail()) { infile>>number; cout<<number<<endl; count++; }这段代码正确吗,答案:错误。看了好久才发现问题在哪。 原来fail()是不考虑文件结尾的。如果执行这段代码,假设输入流为12 23 34 56,那么输出的结果为1223345656也就是说当文件已经到结尾时,infile.fail()仍未false,即文件仍没错误。此处该用eof()。iostatevalue(member constant)indicatesfunctions to check state flagsg 阅读全文
posted @ 2013-05-24 10:12 lzsnolimit 阅读(537) 评论(0) 推荐(0)

解决php插入数据库时特殊符号导致插入失败的问题

摘要: 最近在写一个蜘蛛爬虫,抓到的数据包含“ ’ ”,每次插入都提示语法有问题,php语言已经给我们提供了一个函数来解决这么个问题,addslashes()。代码如下:$this->comment=addslashes($this->comment); $this->english_name=addslashes($this->english_name);其实这个函数还有另一个功能-审查非法字符,防止注入攻击。 阅读全文
posted @ 2013-05-24 10:09 lzsnolimit 阅读(479) 评论(0) 推荐(0)