2010-11-05 140 views
29

一個純文本文件我有此信息的文本文件在我的服務器:閱讀與PHP

Data1 
Data2 
Data3 
. 
. 
. 
DataN 

如何閱讀所有使用PHP文本文件(逐行)的信息?

回答

61
<?php 

$fh = fopen('filename.txt','r'); 
while ($line = fgets($fh)) { 
    // <... Do your work with the line ...> 
    // echo($line); 
} 
fclose($fh); 
?> 

這會給你通過線路的線路讀..閱讀筆記在php.net/fgets關於Mac計算機系問題的結束。

4

W3Schools的是你的朋友:http://www.w3schools.com/php/func_filesystem_fgets.asp

在這裏:http://php.net/manual/en/function.fopen.php對FOPEN包括什麼模式的更多信息。

W3Schools的說什麼:

<?php 
$file = fopen("test.txt","r"); 

while(! feof($file)) 
    { 
    echo fgets($file). "<br />"; 
    } 

fclose($file); 
?> 

FOPEN打開文件(與模式「R」的只讀手段,並在文件的開頭放置指針這種情況下的test.txt)

while循環測試以檢查它是否在文件末尾(feof),而不是它調用fgets,它獲取指針所在的當前行。

繼續這樣做直到文件結束,然後關閉文件。

7

還可以通過使用文件產生數組:

$array = file('/path/to/text.txt'); 
6
$filename = "fille.txt"; 
$fp = fopen($filename, "r"); 

$content = fread($fp, filesize($filename)); 
$lines = explode("\n", $content); 
fclose($fp); 
print_r($lines); 

在這種代碼的文件的全部內容被複制到變量$content,然後將其與每個換行字符在該分割成一個數組文件。

8

這一個是爲我工作

$array = explode("\n", file_get_contents('file.txt')); 
2

嘗試是這樣的:

$filename = 'file.txt'; 

$data = file($filename); 
foreach ($data as $line_num=>$line) 
{ 
    echo 'Line # <b>'.$line_num.'</b>:'.$line.'<br/>'; 
} 
1
$file="./doc.txt"; 
$doc=file_get_contents($file); 

$line=explode("\n",$doc); 
foreach($line as $newline){ 
    echo '<h3 style="color:#453288">'.$newline.'</h3><br>'; 

}