Прочитать простой текстовый файл с помощью php - PullRequest
39 голосов
/ 05 ноября 2010

У меня есть текстовый файл с этой информацией на моем сервере:

Data1
Data2
Data3
.
.
.
DataN

Как мне прочитать всю информацию из текстового файла (построчно), используя PHP?

Ответы [ 8 ]

73 голосов
/ 05 ноября 2010
<?php

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

Это даст вам построчное чтение .. прочитайте заметки на php.net / fgets , касающиеся проблем с окончанием строки в Mac.

19 голосов
/ 05 ноября 2010

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

Это на самом деле не будет читать его построчно, но даст вам массив, который можно использоватьпострочно.Есть несколько альтернатив.

16 голосов
/ 22 июля 2013

Этот работает на меня

$array = explode("\n", file_get_contents('file.txt'));
7 голосов
/ 06 марта 2012
$filename = "fille.txt";
$fp = fopen($filename, "r");

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

В этом коде полное содержимое файла копируется в переменную $content и затем разбивается на массив с каждым символом новой строки в файле.

7 голосов
/ 05 ноября 2010

Вы также можете создать массив, используя файл:

$array = file('/path/to/text.txt');
4 голосов
/ 05 ноября 2010

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 открывает файл (в этом случае test.txt с режимом 'r', что означает только чтение и помещает указатель в начало файла)

Цикл while проверяет, находится ли он в конце файла (feof) и, в то время как это не так, вызывает fgets, который возвращает текущую строку, где находится указатель.

Продолжает делать это до конца файла, а затем закрывает файл.

2 голосов
/ 23 декабря 2017
$file="./doc.txt";
$doc=file_get_contents($file);

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

}
2 голосов
/ 04 декабря 2015

Попробуйте что-то вроде этого:

$filename = 'file.txt';

$data = file($filename);
foreach ($data as $line_num=>$line)
{
    echo 'Line # <b>'.$line_num.'</b>:'.$line.'<br/>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...