栏目导航
热点推荐
- 开发者必备,超实用的PHP代码片
- 提高PHP编程效率的53种方法
- PHP精华的代码收藏
- PHP.ini配置文件(中文)
- PHP如何防止注入及开发安全
- 提高PHP编程效率的53个要点
- 实际开发中可能用到的PHP的字符
- PHP无限分类的原理
- PHP验证码类代码( 最新修改,完全
- PHP判断端口是否打开的代码
- PHP网站转移实战经验之谈
- phpMyAdmin配置文件说明
阅览排行
PHP 读取大文件
www.jz123.cn 2010-11-16 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
代码
<?
/**
* PHP 读取大文件 测试文件大于1G的文本文件
*
* @copyright(c) 2010 by 高成. All rights reserved
* @author 高成
*
*/
/**
* 文件读取
*
* @param String $filename 文件地址
* @param Int $count 读取得行数
* @param String $sep 每行的分隔标记
* @return String 返回结果
*/
function readBigFile($filename, $count = 20, $tag = “\r\n”) {
$content = ”;//最终内容
代码___FCKpd___0
PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current = ”;//当前读取内容寄存
$step= 1;//每次走多少字符
$tagLen = strlen($tag);
$start = 0;//起始位置
$i = 0;//计数器
$handle = fopen($filename,’r+’);//读写模式打开文件,指针指向文件头
while($i < $count && !feof($handle)) { //文件没有到结尾和小鱼需要读取得行数时
fseek($handle, $start, SEEK_SET);//指针设置在文件开头
代码___FCKpd___0
PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current = fread($handle,$step);//读取文件
$content .= 代码___FCKpd___0
PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current;//组合字符串
$start += $step;//依据步长向前移动
//依据分隔符的长度截取字符串最后免得几个字符
$substrTag = substr($content, -$tagLen);
if ($substrTag == $tag) { //判断是否为判断是否是换行或其他分隔符
$i++;
}
}
//关闭文件
fclose($handle);
//返回结果
return $content;
}
$filename = ‘E:/2010log.log’;//需要读取的文件
$tag = “\r\n”;//行分隔符 注意这里必须用双引号
$count = 20;//读取行数
$data = readBigFile($filename,$count,$tag);
echo $data;
?>
PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
0
上一篇:PHP图片裁剪与缩放 下一篇:PHP网站转移实战经验之谈