Консультация № 63929
23.11.2006, 21:17
0.00 руб.
0 5 4
Хочу сделать вывод новостей на главной, но БД нет, придется делать все из файлов.
Пишу $f = fopen("news.txt", "rt") or die("Error");
echo fgets($f);

fclose($f);

И инклудом вставляю этот файл на главную. В файле news.txt новости.
Так вот, вроде бы все нормально, но там выводится новость до первого перевода строки.
Как бы сделать полностью? Например explode попробовать или еще что, чтобы все новости выводились... Подскажите, или вообще свой вариант, если знаете более легкий путь.

Обсуждение

Неизвестный
23.11.2006, 21:30
общий
это ответ
Здравствуйте, _Master_!
Я бы зделал так: смотри приложение. Если новости будут идти слитно то пиши второй вариант.

Приложение:
$news=@file("news.txt");for($f=0;$f<count($news);$f++)echo $news[$f];// или$news=@file("news.txt");for($f=0;$f<count($news);$f++)echo $news[$f]."
";
Неизвестный
23.11.2006, 23:06
общий
Примечание.fgets($f) - это и есть получить строку.Используйте то, что Вам уже предложили.
Неизвестный
24.11.2006, 05:19
общий
это ответ
Здравствуйте, _Master_!
Может просто написать:

@readfile(‘news.txt‘);

или чтобы обрабатывались переводы строки:

echo nl2br(@file_get_contents(‘news.txt‘));

или чтобы сохранить форматирование:

echo ‘< pre>‘;
@readfile(‘news.txt‘);
echo ‘< /pre>‘;
Неизвестный
24.11.2006, 09:10
общий
это ответ
Здравствуйте, _Master_!

Попробуйте сделать так как делал я


Приложение:
<?php$newS_of_Site = file(‘newsData.txt‘); //newsData.txt файл с новостями(одно строка одно новость, новые новости записывать в конец файла) с разделителями в строке $ например строка из файла дата$новость$строка$chislo_news = count($newS_of_Site); //считает число новостей(сколько строк столько и новостей будет)for ($i = $chislo_news;$i > 1;$i--) { if (isset($newS_of_Site[$i-1])) { $Tek_new = explode("$",$newS_of_Site[$i-1]);//Разбиение строки новости на части, индекс массива 0-дата, 1-название, 2-ссылка echo ‘
дата - ‘.$Tek_new[0]; echo ‘
новость - ‘.$Tek_new[1]; echo ‘
ссылка - ‘.$Tek_new[2]; } else break; }?>
Неизвестный
24.11.2006, 16:03
общий
это ответ
Здравствуйте, _Master_!
Согласен с пред идущими экспертами, но хочу добать.
Если вы хотьте проичатать фал целеком то можно сделать так (самый простой способ):
<?
$text=join("",file("news.txt"));
//Делаем что-либо с текстом
...
echo $text;
?>

Ещё, прочитайте про брокировку файлов... Пригодится при частом обновлении.
Форма ответа