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

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 ......

PHP码农进化史1_Zend

Zend-PHP编码规范
1.对于只包含PHP的文件,"?>"是不允许存在的。注释:防止末尾被意外的注入空白并显示输出。
2.缩进应使用四个空格的缩进,而不使用制表符TAB。
3.一行80个字符是比较合适的,最多为120字符。
4.行的结束符只能是标准的UNIX文本文件的换行,换行符在文件中表示为10,或16进制的 0x0A。
不要使用win ......

php面向对象


1.类和对象。
类是一类事物的描述。抽象,概念上的定义。
对象是实际存在的每个个体。也叫实例。对象是new出来的。$p = new Person();
2.属性
用来描述类中的数据元素。(也叫数据/状态)
修饰符(PHP5中必须修饰):public(公开,类的内外部读取修改),private(私有只在当前类中读取修改),protected(保护,能在这个类和 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号