導航:首頁 > 文件目錄 > php按行讀取文件內容

php按行讀取文件內容

發布時間:2022-09-15 16:20:12

⑴ php逐行讀取文件,逐行修改文件,刪除指定行

修改和刪除指定行,我們一般用file將文件內容讀取到數組中,根據數字索引比較容易修改,但是你要求用文件指針,這個比較麻煩,不管你用的是filesystem的函數還是spl類函數,都不可避免一個問題,對一個文件流操作,最多替換流中間的某一段內容,不可能實現插入,又不是c語言的鏈表,

//修改第二行內容
$f=fopen('test.txt','r+');
$i=1;
while(!feof($f)){
if($i==2){
fseek($f,0,SEEK_CUR);
fwrite($f,'aad');//這里的修改是替換形式,如果修改後這一行的長度比原來短,那麼可以用空格填充到原來長度,這樣實現修改,而且不影響後面的內容,但是修改後的比原來長就麻煩了,
break;
}
fgets($f);
$i++;
}
fclose($f);
//刪除行同修改行一樣,只不過是將原來行替換為同等長度的空格串
$f=fopen('test.txt','r+');
$j=1;
while(!feof($f)){
if($j==2){
$row=fgets($f);
$len=strlen($row);
echoftell($f)-$len."<br>";
fseek($f,ftell($f)-$len);
fwrite($f,str_pad('',$len,''));
break;
}
fgets($f);
$j++;
}
fclose($f);

⑵ php讀取txt文件指定行的內容並顯示

<?php

function getFileRows($filename,$start,$num=0)

{

$rowsdata = array();

$lines = file( $filename );

$start = $start -1;

$num = $num == 0 ? count($lines)-$start : $num;

for($i=0;$i<$num; $i++)

{

$k = $start + $i;

$rowsdata[] = $lines[$k];

}

return $rowsdata;

}

print_r(getFileRows('1.txt',3,1)); //第三行
print_r(getFileRows('1.txt',5,1)); //第5行
print_r(getFileRows('1.txt',7,1)); //第7行

?>

⑶ php讀取逐行讀取文件

換個1mb的文本它肯定有空格換行,具體操作如下代碼

$file = file("welcome.txt");
foreach($file as &$line) echo $line.'<br />';

這個更方便, file()直接把文本按行回轉換成數組答
fgets如果沒指定第二參數,將直接讀取到緩存結束為止, 其實它不以換行來循環的,它的第二參數也是限制每次讀取的字元個數而已。

⑷ 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 如何讀取指定行數據

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 fgets將txt文件內容一行一行的讀出

  1. 說明
    string fgets ( int $handle [, int $length ] )
    從 handle 指向的文件中讀取一行並返回長度最多為 length - 1 位元組的字元串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 位元組。
    出錯時返回 FALSE。
    通常的缺陷:
    習慣了 C 語言中 fgets() 語法的人應該注意到 EOF 是怎樣被返回的。
    文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(並還未由 fclose() 關閉)。

  2. 以下是一個簡單例子:

<?php
$handle=@fopen("/tmp/inputfile.txt","r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle,4096);
echo$buffer;
}
fclose($handle);
}
?>


⑺ php逐行讀取txt文件內容,並把內容放到輸入框里,一行內容對應一個輸入框

<?php
header("Content-type:text/html;charset=utf-8");
$f_open = fopen('aaa.txt','w+'); //打開文件
if(isset($_POST['submit'])){ //判斷,如果點了提交按鈕則執行以下代碼
fwrite($f_open,$_POST['txt']); //寫入文件,內容為文本域傳過來的值
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
textarea{
width: 300px;
height: 20px;
}
</style>
</head>
<body>
<form method="post" action="a.php">
<textarea name="txt">
<?php
$aaa = readfile('aaa.txt'); //讀取aaa.txt的內容
?>
</textarea>
<input type="submit" name="submit">
</form>
</body>
</html>
<?php
fclose($f_open); //關閉文件
?>

⑻ php如何獲取txt文本指定行的指定數據

如果直接使用file_get_contents來讀取文件,那麼在文件很大的時候會很占內容,比如這個文件有1GB的時候。
這個時候使用傳統的文件操作方式就好的多,因為是查找嘛,逐行讀取匹配應該也是可以的,下面是我的一個建議,不知道是否滿足你的要求,可以看下:
//
需要查找的內容
$search
=
'bcd';
//
打開文件
$res
=
fopen('a.txt',
'r');
while
($line
=
fgets($res,
1024))
{
//
根據規則查找
if
(strpos($line,
$search)
===
0)
{
//
根據既定規則取得需要的數據
echo
substr($line,
4,
-1);
//
這里就是你想得到的
break;
}
}
//
關閉文件
fclose($res);

⑼ 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怎麼一行一行的讀取文件


$myfile=fopen("web.txt","r");
echofgets($myfile);//fgets為讀取一行,行本質是段落
fclose($myfile);

閱讀全文

與php按行讀取文件內容相關的資料

熱點內容
永安行app在哪裡簽到 瀏覽:601
大數據在職業技能培訓中的應用 瀏覽:218
word文件管理器 瀏覽:82
貴安大數據產業園 瀏覽:229
excel該文件可能是只讀的 瀏覽:818
怎麼添加一個次要數據文件資料庫 瀏覽:399
linux怎麼裝系統 瀏覽:811
接觸到哪些信息是由資料庫管理 瀏覽:25
港版s7edge和亞太版本 瀏覽:284
無限循環數控編程序怎麼編程 瀏覽:979
iphone6splus16g 瀏覽:225
oppo如何開4g網路 瀏覽:267
java不安全 瀏覽:423
導入配置文件數據失敗 瀏覽:941
linux運行class 瀏覽:227
如何做好群管理員文件 瀏覽:979
linuxvim循環搜索文件 瀏覽:147
為什麼講女孩子更應該學習編程 瀏覽:742
雲數據備份不了了是怎麼回事 瀏覽:110
數據說話的股票有哪些股 瀏覽:612

友情鏈接