php读行
① php 如何读取指定行数据
function get_file_line( $file_name, $line ){
$n = 0;
$handle = fopen($file_name,'r');
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line==$n) break;
}
fclose($handle);
}
if( $line==$n) return $out;
return false;
}
暂时没想到什么好办法或找到对应函数,抛砖引玉,希望见到更好的解决方案
② PHP里如何读取文件的指定一行
<?php
$c=getLine('./a.txt',10);//读取a.txt文件第10行内容
echo$c;
/**
*获取指定行内容
*
*@param$file文件路径
*@param$line行数
*@param$length指定行返回内容长度
*/
functiongetLine($file,$line,$length=4096){
$returnTxt=null;//初始化返回
$i=1;//行数
$handle=@fopen($file,"r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle,$length);
if($line==$i)$returnTxt=$buffer;
$i++;
}
fclose($handle);
}
return$returnTxt;
}
③ 通过php随机读取txt文件的某一行
PHP随机读取TXT文件的某一行,基本思路是这样的:获得总行数、产生随机数、获得随机行,例子代码如下:
<?php
$f='1.txt';//文件名
$a=file($f);//把文件的所有内容获取到数组里面
$n=count($a);//获得总行数
$rnd=rand(0,$n);//产生随机行号
$rnd_line=$a[$rnd];//获得随机行
echo"$rnd/$n:$rnd_line ";//显示结果
?>
以上程序在我的电脑上执行几次的结果如下:
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什么来爱我2
E:TEMP文件exp>a.php
3/8:acfp6o7ib----803sb7rmvz----1525175080=
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什么来爱我2
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什么来爱我2
E:TEMP文件exp>a.php
5/8:bxi2jw97----0vaf3bw17s----1525184793=
④ php里有没有指定读取第几行的函数
php提供了内置函数fgets(),从文件指针中读取一行。代码如下:<?php $file=fopen("D:\\CHENCHENG\\myqq.txt","r"); while(! feof($file)){ $rows = fgets($file); echo "你要的第三行内容就是$rows[2]";}
⑤ php读取逐行读取文件
换个1mb的文本它肯定有空格换行,具体操作如下代码:
$file = file("welcome.txt");
foreach($file as &$line) echo $line.'<br />';
这个更方便, file()直接把文本按行转换成数组
fgets如果没指定第二参数,将直接读取到缓存结束为止, 其实它不以换行来循环的,它的第二参数也是限制每次读取的字符个数而已。
⑥ php如何随机读取txt文档内若干行并显示出来
<?php
$arr=file('txt');//请使用准确的文件名代替txt
$n=count($arr)-1;
for ($i=1;$i<=100;$i++){//100的需要显示的行数的例子,不是100时请换为具体数
$x=rand(0,$n);
echo $arr[$x],"\n";//随机显示一行
}
?>
⑦ PHP读如文件行并依照次序写入变量
function getAallLine()
{
global $class;
$filename='./瞎明database/磨雀告class.info';
$f=fopen($filename,"r"岁余);
while(!feof($f))
{
$line=fgets($f);
$class[]=$line;
}
fclose($f);
}
$class=array();
getAallLine();
$j=count($class);
$i=0;
while($i<$j)
{
echo $class[$i].'<br>';
++$i;
}
⑧ php读取txt文件指定行的内容并显示
<?php
$handle = @fopen("1.txt", "r");
$str="";
if ($handle) {
for($i=0;$i++;$i<3){
$buffer = fgets($handle, 4096);
if(strpos($buffer,"aaaa")!==false){
$str.= $buffer;
}elseif(strpos($buffer,"bbbb")!==false){
$str.= "[".$buffer."]";
}elseif(strpos($buffer,"cccc")!==false){
$str.= "(".$buffer.")";
}
}
fclose($handle);
}
echo $str;
?>
⑨ php怎么一行一行的读取字符串
php fgets将txt文件内容一行一行的读出
说明
string fgets ( int $handle [, int $length ] )
从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
出错时返回 FALSE。
通常的缺陷:
习惯了 C 语言中 fgets() 语法的人应该注意到 EOF 是怎样被返回的。
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。以下是一个简单例子:
<?php
$handle=@fopen("/tmp/inputfile.txt","r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle,4096);
echo$buffer;
}
fclose($handle);
}
?>