求用PHP的fseek、fgets获取指定行的函数。

因为是大文件,所以只有能指针去读取某几行,不能直接将整个文件全部读进来。要有三个变量,指定的文件,从X行到Y行间的字符。... 因为是大文件,所以只有能指针去读取某几行,不能直接将整个文件全部读进来。

要有三个变量,指定的文件,从X行到Y行间的字符。
展开
 我来答
hotdigger
推荐于2016-04-02 · TA获得超过3590个赞
知道大有可为答主
回答量:1458
采纳率:50%
帮助的人:685万
展开全部
真不厚道,给0分,怪不得没有人回答。
采纳给加分吧。
===========
function readBigFileLines($filename, $startLine = 1,$endLine=50) {

$content = '';
if($endLine < $startLine) return 'error:end line error';
$count = $endLine - $startLine;
$fp = fopen($filename,'r');//读模式打开文件
if(!$fp) return 'error:can not read file';
for ($i=1;$i<$startLine;$i++) {
if(!feof($fp)) fgets($fp);//跳过前$startLine行
}
for($i;$i<=$endLine;$i++){
if(!feof($fp)) $content .= fgets($fp);//读取文件行内容
}
fclose($fp);
return $content;

}
function createFile($fileName,$lines = 100){
$fp = fopen($fileName,'w+');
if(!$fp) return 'error:can not write file';
for($i=0;$i<$lines;$i++){
$str = rand(1,1000000);
fwrite($fp,$str."\r\n");
}
fclose($fp);
}
$filename ='demo.log';//需要读取的文件
$start = 20;//读取开始行数
$end = 40;//读取结束行数
//createFile($filename,1000);
$data = readBigFileLines($filename,5,10);
echo $data;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
双枪老椰子
推荐于2018-04-13 · TA获得超过5.5万个赞
知道大有可为答主
回答量:5797
采纳率:93%
帮助的人:2057万
展开全部
<?php

function line_content($filename,$startline,$endline){

$fp=fopen($filename,"r");

for($i=1;$i<$startline;$i++){

fgets($fp);

}

for($i=$startline;$i<=$endline;$i++){

$text.=fgets($fp);

}

$text=str_replace("\n","<br/>",$text);

//echo $text;

return $text;

}

echo line_content("aaa.txt",1300,1400);

?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式