易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP 小技巧

=================================
mb_substr($str, 0, 1, "gbk");
如果提供了第四个参数,php会解析这个参数
1. 将这个参数转换成字符串.
2. 调用mbfl_name2no_encoding获得编码器序号
3. 第二步会调用mbfl_name2encoding,这个函数在循环中使用了strcasecmp
strcasecmp是忽略大小写的字符串匹配,性能很低,
而且,如果第四个参数提供的 编码名字 不规范,会造成标准名字列表中找不到
还会做进一步的尝试,从MIME charset name中寻找,如果还是找不到
会继续尝试,通过别名来查找,这个过程是相当慢的,假如有20种编码,每种有10个别名
就要从20*10个字符串中,查找出匹配的,还是不区分大小写的匹配,相当的慢
所以,尽量使用跟内部编码一致的编码,如果不能,编码名字一定要写的规范
解决方案:
mb_internal_encoding("gbk");
for($i = 0; $i < 100000; $i ++){
    $a = mb_substr($str, 0, 1);
}
=================================
我们经常会用到file_get_contents函数,用于抓取别人网站的信息,制作简单的采集器,但是在使用file_get_contents函数的时候,经常会出现超时的错误,这里介绍两种解决办法:
一、增加超时的时间限制
这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数:
代码如下:
$opts = array(
'http'=>array(
'method'=>”GET”,
'timeout'=>60,
)
);
$context = stream_context_create($opts);
$html =file_get_contents('http://www.phpzixue.cn', false, $context);
fpassthru($fp);
二、一次有延时的话那就多试几次
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:
复制代码 代码如下:
$cnt=0;
while($cnt < 3 && ($str=@file_get_contents('http://www.phpzixue.cn'))===FALSE) $cnt++;
=========================================
代码量统计
统计.php和.htm文件  需要单词和字符信息,把wc -l的-l去掉
find path_to_source -type f -name


相关文档:

JS 和PHP 数据库操作在一个页面

  <?   
  require   ("config.php3");   
  ?>   
  <?   
  if($submit)   
  {   
  //echo   $action;   
    
  //if($action=='update')  &nb ......

超级简单的php+mysql留言本源码

 共3个文件
IncDB.php数据库连接
index.php首页
InsetToDB.php数据库操作
数据库lguestbook里面建表
CREATE TABLE `intd` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) character set utf8 collate utf8_bin N ......

在centos5.3下安装GCC所必须的5个依赖包php json安装

在centos5.3下安装GCC所必须的5个依赖包
最小化安装centos5.3,默认没有安装gcc,利用下载的安装DVD,通过filezilla上传,发现GCC所必须的5个依赖包为:
kernel-headers-2.6.18-128.el5.i386.rpm   
cpp-4.1.2-44.el5.i386.rpm     
libgomp-4.3.2-7.el5.i386.rpm   ......

在PHP里得到前天和昨天的日期的代码

在PHP里得到前天和昨天的日期的代码前天去面试的时候也是这样,不过我当时记不起来了.就记得MYSQL里面的date_sub(now(),'interval 1 day');date('Y/m/d h:i:s',mktime(date('h'), date('i'), date('s'), date('m') , date('d')+1, date('Y'))); -------------------------------------------------------------------------- ......

Mysql、Apache、Php的卸载 (Linux)

 卸载Mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,卸载都从最下面的一个包开始,直到卸载掉第一个为止。执行rpm -q php,如果返回php版本, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号