Страшный Злодей
Бывший член клуба (достало хамство).
Существует ли в PHP функция аналогичная tail? Или какие ещё есть возможности для чтения больших логов, без использования системных команд?
Благодарю!
За 18 лет ни разу не понадобилась. При этом веб для меня не основное применение PHP, чаще это утилиты для работы с данными. В том числе логами.Удивительно, если для такой востребованной операции, нет встроенного механизма в самом пхп.
я бы читал сразу блок такого размера, который заведомо больше этой строки.Правильно ли я понимаю,
а где тут не лаконичное-то?Ожидал, наличия более лаконичного решения,
Как лаконично я написал выше - " tail -n 1 file".а где тут не лаконичное-то?
три строчки кода
меньше писанины, чем на форуме жаловаться на несовершенство мироздания
Благодарю!не знаю, как там в других файловых системах, но в FAT16/32 читалось кластерами по несколько секторов, но, как сейчас помню, размером кластера можно было порулить, так что 8кб блок скорее эмпирически выведенная константа
Функции, реализующие синтаксический сахар, в РНР появляются так: кому-то надоедает писать постоянно fopen fread fclose и он делает функцию-враппер.Ожидал, наличия более лаконичного решения,
Здесь в общем соглашусь.к чему в техническом топике, своими заведомо необоснованными замечаниями,
tail мощная команда, принцип её работы, при наличии базовых знаний Cи, вы сможете подсмотреть открыв капот и заглянув в исходник.А как, вы думаете, работает tail ? Из астрала узнаёт, где начинается последняя строка?…
Похоже, что в некотором роде, вы уникальны. 18 лет использовать PHP для работами с данными в утилитах не для вэба, это мощно! Искренне восхищаюсь такой приверженностью! Вы его в CLI версии используете? Всегда считал, что Personal Home Page / Hypertext Preprocessor создан именно для вэба.За 18 лет ни разу не понадобилась. При этом веб для меня не основное применение PHP, чаще это утилиты для работы с данными. В том числе логами.
popen - это системный вызов. В вопросе было условие, не использовать системные вызовы. Видимо не обратили внимание.$fh = popen("tail -f /file.txt", "r");
В то-то и дело, что ему основной функционал tail и не нужен.$fh = popen("tail -f /file.txt", "r");
параметр -f точно не нуженВ то-то и дело, что ему основной функционал tail и не нужен.
тогда нафига взял отвертку в руки? озвучь цену, найдется механикНо для себя я выбираю автомобиль с АКПП и обслуживанием в дилерском центре.
Да решил уже давно. Вопрос простой был, нечего там добавить.ты уже скажи что хочешь
В том-то и дело, не брал я в руки отвёртку. Я попытался нажать кнопку старт/стоп, а оказалось, что нужно ключ искать где-то и код иммобилайзера чекать. Это не смертельно и не страшно. Вставил завёл-поехал. Но глупо как-то постоянно с ключом возиться, когда возможно есть чудо кнопка, о которой я не знал. Вот и задал вопрос. Да, собственно, как и писал выше, все решилось давно. Так-что механика, увы, придётся оставить без ужинатогда нафига взял отвертку в руки? озвучь цену, найдется механик
Странный сарказм.18 лет использовать PHP для работами с данными в утилитах не для вэба, это мощно!
Ну так вы именно для вэба, а AnrDaemon, пишет, что веб для него НЕ основное применение PHP. Вот это и удивляет немного.Странный сарказм.
Ну вот у меня сроки похожие, и я тоже, именно для веба, практически никогда не сталкивался с такой задачей
В моем вебе данные либо берутся из базы, либо, если из файла, то он читается сверху вниз.
Если же ковырять логи - то это как раз таки cli, но в этом случае я вообще не думая использую нативный tail