PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 1
Romzess Отправлено: 13 Июня, 2008 - 08:30:20 • Тема: Текстовый файл с конца • Форум: Программирование на PHP

Ответов: 1
Просмотров: 205
Здравствуйте!
Подскажите пожалуйста как мне получить последние 30 строк из текстового файла в обратном порядке не загружая весь файл в масив (т.к. бывает очень большой иногда).
Пробовал записывать данные сразу в обратном порядке:
PHP:
скопировать код в буфер обмена
  1. function logs($msg,$id){
  2. $file_gb = "log/$id.txt";  
  3. $file_tmp = "log/$id_tmp.txt";
  4. if (file_exists ($file_tmp)) die ("Временный файл существует!");
  5. if (copy ($file_gb, $file_tmp))
  6. {if ($w=fopen($file_gb, "w"))
  7. {flock($w,2);
  8. fwrite ($w, $msg."\n");
  9. if (!$r=fopen($file_tmp, "r")) die ("Невозможно открыть файл");
  10. flock ($r,1);
  11. while ($msg=fgets($r, 10240)){fputs ($w, $msg);  
  12. }flock ($r,3);fclose ($r);flock ($w,3);fclose ($w);unlink ($file_tmp);}}}

не удобно читать потом, и с каждой записью увеличивается время обработки в 2 раза

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB