
求用PHP的fseek、fgets获取指定行的函数。
因为是大文件,所以只有能指针去读取某几行,不能直接将整个文件全部读进来。要有三个变量,指定的文件,从X行到Y行间的字符。...
因为是大文件,所以只有能指针去读取某几行,不能直接将整个文件全部读进来。
要有三个变量,指定的文件,从X行到Y行间的字符。 展开
要有三个变量,指定的文件,从X行到Y行间的字符。 展开
2个回答
展开全部
真不厚道,给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;
采纳给加分吧。
===========
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还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
<?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);
?>
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);
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询