Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2010, 11:32   #1
Delphinchik
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 60
По умолчанию Чтение новых строк из файла

Подскажите как вывести 10 новых строк из текстового файла?
Вот например есть код, почти то что надо:

PHP код:
$file "news.txt";
$f fopen($filer);
$count 0;
while(!
feof($f)) {
 if(
$count <= 9
  {
   
$st fgets($f);
   echo 
$st;
   
$count++;
  } else {
    break;
  }
}
fclose($f); 
Но он выводит 10 строк с начала файла, а нужно с конца файла, потому что новые строки записываются в конец.

Последний раз редактировалось Delphinchik; 27.11.2010 в 11:38.
Delphinchik вне форума Ответить с цитированием
Старый 27.11.2010, 11:49   #2
Delphinchik
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 60
По умолчанию

Хех... я конечно не ярый знаток php, но неужели так сложно? :D
Просмотров много, а ответа нет
Delphinchik вне форума Ответить с цитированием
Старый 27.11.2010, 12:37   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
но неужели так сложно?
Да не сложней,чем в Мануал посмотреть,на самом деле...)))

Можно так:
1.Считываете файл построчно в массив,при помощи file()
2.Сортируете массив по ключам по убыванию.
3.Выводите при помощи цикла for() 10 элементов - это и будут нужные вам строки.

PS: Наверняка есть более изящные решения.
Andkorol вне форума Ответить с цитированием
Старый 27.11.2010, 14:36   #4
oleg.v
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 80
По умолчанию

Пробуй читать файл задом на перёд. Начинаешь с конца файла перебирать по одному символу в буфер, дойдя до символа новой строки, выбранные символы печатаешь, как первую строку, и повторяешь выборку новых символов с места остановки из файла опять до символа новой строки. И так 10 раз.
oleg.v вне форума Ответить с цитированием
Старый 27.11.2010, 14:39   #5
Delphinchik
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 60
По умолчанию

Ну шаньдец... удалить последнюю строку в файле геморойно, вывести 10 новых тоже проблема, наврено проще бд юзать
Delphinchik вне форума Ответить с цитированием
Старый 27.11.2010, 22:49   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Способов может быть немеряно.
Например, как вариант:
Код:
$res = exec('tail -n 20 '.$file);
echo $res;
Честно говоря, я бы не советовал юзать exec)

На счет юзать БД - это хорошая идея на самом деле)
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение заданного кол-ва строк из файла, С++ Remedy Помощь студентам 7 21.11.2010 22:44
Чтение и удаление строк из текствого файла Blourid Общие вопросы .NET 8 11.10.2010 22:01
Чтение опеределенных строк из файла Dennis777 Помощь студентам 6 14.11.2009 21:59
Чтение ASCII строк из PE файла Flippp Общие вопросы C/C++ 3 19.08.2009 12:30
Чтение строк из файла (С++) counter Помощь студентам 2 05.11.2008 02:02