php逐行操作文件

如果你的文件不大,就應該使用file,把所有文件內容讀入數組,對數組進行處理(+1),然後寫會文件。


如果文件較大,或者BT老師不讓用數組,那麼就只有一行一行的讀文件,每讀一行處理一行,然後寫入一個臨時文件,最後關閉兩個文件,刪除舊文件,再把臨時文件更名為舊的,大概的過程如下:


<?php
$f='a.txt';//需要處理的文件名
$f1=fopen($f,'r');
$f2=fopen($f.'.tmp','w');
while(!feof($f1)){
$s=fgets($f1);
$s++;
fputs($f2,$s);
}
fclose($f2);
fclose($f1);
rename($f.'.tmp',$f);
?>

⑵ PHP里如何讀取文件的指定一行

用file讀出以後,直接使用行號飲用各行,例如:

$a=file('abc.txt');

那麼顯示第5行的語句是:

echo $a[5];

⑶ 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 = file_get_contents('text.txt');
//讀取文件
$lines = explode('\n', $file);
//按行分割字元串
echo '<table>';
//用表格輸出
for($lines as $line){
echo '<tr>';
//分行回
$keys = explode(',', $line);
//按逗號分割
for($keys as $key){
echo "<td>$key</td>";
//輸出每行中答的各列
}
echo '</tr>';
}
echo '</table>';

⑸ PHP逐行讀取TXT文件內容碰到特殊符號停止讀取並實現分頁,當點擊下一頁時又循環讀取碰到特殊符號停止讀取

這種客戶化需求應該沒有源碼吧,只能提供點思路。
首先存的時候注意\n,然後特殊字元的話,可以使用正則指定匹配。

⑹ php如何逐行讀取數據

$arr = explode("\n",$text);把雙引號寫成單引號是不行的哦.

⑺ 如何用php讀取txt文件的第n到第n+100行,並輸出.

一般是使用fopen、fgets的方法,例如:
<?php
$fp=fopen('文件名.txt','r');
for ($i=1;$i<100;$i++) fgets($fp);//跳過前99行
$arr=array();//初始化數組
for ($i=0;$i<100;$i++) $arr[]=fgets($fp);//讀出100~200行
fclose($fp);
//下面輸出內容
echo '<table>';
for ($i=0;$i<50;$i++){
echo '<Tr><td>'.$arr[$i].'<td>'.$arr[$i+50];
}
echo '</table>';
?>

⑻ php讀取單文件變成讀取指定多文件逐行讀取,求修改代碼。

$xxx = mt_rand(1,1000);
$a=file('word'. $xxx .'.txt');
$a = str_replace("\r\n","",$a); //過濾多餘回車

⑼ php讀取txt並逐行逐字輸出

用fopen打開資源
fgets可以讀取一行,
知道返回false;
類似java的io流的操作

⑽ php讀取逐行讀取文件

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

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

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