2010-11-05 37 views

Trả lời

61
<?php 

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

Điều này sẽ cho bạn đọc từng dòng .. đọc ghi chú tại php.net/fgets về sự cố kết thúc với máy Mac.

4

W3Schools là bạn của bạn: http://www.w3schools.com/php/func_filesystem_fgets.asp

Và ở đây: http://php.net/manual/en/function.fopen.php có thông tin thêm về fopen bao gồm những gì các phương thức đang có.

gì W3Schools nói:

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

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

fclose($file); 
?> 

fopen mở tập tin (trong trường hợp này test.txt với chế độ 'r' có nghĩa là chỉ đọc và đặt con trỏ vào đầu của tập tin)

Kiểm tra vòng lặp while để kiểm tra xem nó ở cuối tập tin (feof) và trong khi nó không phải là nó gọi fgets được dòng hiện tại nơi con trỏ.

Tiếp tục thực hiện việc này cho đến khi nó kết thúc tệp và sau đó đóng tệp.

13

http://php.net/manual/en/function.file-get-contents.php
http://php.net/manual/en/function.explode.php

$array = explode("\n", file_get_contents($filename));

này sẽ không thực sự đọc nó từng dòng, nhưng nó sẽ giúp bạn có một mảng mà có thể được sử dụng từng dòng. Có một số lựa chọn thay thế.

+5

Tôi giả định này sẽ "bùng nổ" trí nhớ của bạn với một tập dữ liệu rất lớn – Jonathan

7

Bạn cũng có thể tạo ra mảng bằng cách sử dụng file:

$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); 

Trong mã toàn bộ nội dung này của tập tin được sao chép vào biến $content và sau đó chia nó thành một mảng với mỗi ký tự xuống dòng trong tập tin.

8

Cái này đang làm việc cho tôi

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

Hãy thử một cái gì đó như thế này:

$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>'; 

} 
Các vấn đề liên quan