易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

一个自动根据图片文件类型打开图片的PHP函数

 在PHP.net的牛人回复中找到一个自动根据图片文件类型打开图片的PHP函数,很方便.
 /**
*
* Loads a file based on its filetype and returns false if it fails.
*/
function imagecreatefromfile($path, $user_functions = false)
{
$info = @getimagesize($path);

if(!$info)
{ ......

Project Zero、WebSphere sMash、PHP和JAVA的整合


从架构设计方面考虑,很多系统采用了 Java Bridge把php和JAVA技术结合起来,利用PHP的快速响应和JAVA的数据持久化能力,能很大程度上能提高系统性能。这两篇文章将详细的介绍Project Zero、WebSphere sMash 和 PHP 的整合技术
Project Zero、WebSphere sMash 和 PHP 入门
http://www.ibm.com/developerworks/cn/web/wa- ......

在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'))); -------------------------------------------------------------------------- ......

ubuntu 9.10 安装 php mysql apache(LAMP)

 一、安装
1. 首先安装SSH
sudo apt-get install ssh
2.安装MySQL(虽然现在最新版为5.1,但是还只能装5.0版本)
sudo apt-get install mysql-server-5.0
3.安装Apache
sudo apt-get install apache2
4.安装PHP
sudo apt-get install php5 libapache2-mod-php5
5.重启Apache
sudo /etc/init.d/apache2 restart ......

PHP函数:ctype_digit

 (PHP 4 >= 4.0.4)
功能说明:Check for numeric character(s)
Description
bool ctype_digit ( string text)
Returns TRUE if every character in text is a decimal digit, FALSE otherwise.
例子 1. A ctype_digit() example
<?php $strings = array('1820.20', '10002', 'wsl!12'); foreach ($strings ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号