首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>PHP教程>资讯:PHP 读取大文件

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函数,不足之处还望指正!


上一篇:PHP图片裁剪与缩放 下一篇:PHP网站转移实战经验之谈

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图