Использование PHP для разделения результатов текстового файла - PullRequest
0 голосов
/ 24 марта 2012

Я пытаюсь отобразить последние 10 строк файла и оттуда взять эти результаты и разбить их на 10 отдельных строк.

В настоящее время код, который я нашел из примеров:

$filearray = file("test.txt");
$lastfifteenlines = array_slice($filearray,-10);

echo implode($lastfifteenlines, "\n")

Он отображает 10 элементов, которые мне нужны, однако он не разбивает их на отдельные строки, текущие результаты:

1.0.0.11 1.0.0.12 1.0.0.13 1.0.0.14 1.0.0.15

Мне нужно, чтобы вместо этого отображалось:

1.0.0.11 
1.0.0.12 
1.0.0.13 
1.0.0.14 
1.0.0.15

Заранее благодарим за помощь!

Ответы [ 3 ]

0 голосов
/ 24 марта 2012

Ваш код работает нормально. Вы просто не можете видеть разрывы строк, потому что HTML не рассматривает их как разрывы строк.

Посмотрите исходный код HTML в вашем браузере, чтобы увидеть разрывы строк.

Возможное решение

  • echo <pre> и </pre> до и после взрыва.
  • Добавить header("Content-Type: text/plain"); перед любым выводом. Это приведет к тому, что браузер будет анализировать документ как текстовый файл, а не HTML (обратите внимание, что браузер не будет анализировать теги HTML)
  • взорвать массив другой строкой, <br>, что приведет к разрыву строки в HTML.

Кроме того, ваш синтаксис неправильный, это

implode($glue, $pieces);

а не

implode($pieces, $glue);
0 голосов
/ 24 марта 2012

используйте функцию explode, например,

$filearray = file("test.txt");
$lastfifteenlines = array_slice($filearray,-10);
$impfile = implode($lastfifteenlines, '\n');
$lines = explode('\n', $impfile);

foreach ($lines as $line){
    echo $line."<br>";
}

outpu будет

1.0.0.11 
1.0.0.12 
1.0.0.13 
1.0.0.14 
1.0.0.15

я надеюсь, что вы этого хотите:)

0 голосов
/ 24 марта 2012

\n - это простые пробелы в html.

используйте echo implode("<br>", $lastfifteenlines) или вставьте их для разделения div s, используйте список (ul + li) и т. Д.

...