Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ожидание изменения файла inotifywait
Покинул форум
Сообщений всего: 167
Дата рег-ции: Май 2009
Помог: 0 раз(а)
Здравствуйте, подскажите как мне правильно использовать функцию inotifywait, чтобы при изменении указанного файла, мне вывело сообщение.
Я пробую как то так:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Maskca пишет:
в течении одной сессии
Уточните, а еще лучше - опишите всю задачу с самого начала. Мелкий
Потому что приведен лишь пример. В общем случае это может быть не md5-хеш.(Но если использовать md5 то лучше md5_file, так как имеется выигрыш и по времени и по памяти)
Ну и кроме того, дабы не оправдываться - скажу просто - md5_file я не использовал - не было необходимости в подобных задачах, а функция редкоиспользуемая. Сейчас проверил bench для него - он быстрее примерно в 1.15 раза
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Maskca
Отправлено: 18 Октября, 2011 - 16:30:10
Частый гость
Покинул форум
Сообщений всего: 167
Дата рег-ции: Май 2009
Помог: 0 раз(а)
Допусти есть некий файл file.txt, в нем есть какой то текст, и при изменении файла, то есть когда в файл что то дописали, нужно чтобы этот дописанный текст мгновенно вывелся на страницу.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Maskca пишет:
мгновенно вывелся на страницу.
Веб-страницу? Нет, не получится. Сделан запрос - сделан ответ. HTTP - не асинхронный протокол.
Здесь два пути - либо делать запрос через AJAX к серверу через определенные промежутки времени, либо использовать WebSockets (что реализовано только в FF да и там по-умолчанию с 4.0 отключено)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Maskca
Отправлено: 18 Октября, 2011 - 16:37:01
Частый гость
Покинул форум
Сообщений всего: 167
Дата рег-ции: Май 2009
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
EuGen, я просто подумал, может с md5_file какая-нибудь тёмная история и md5(file_get_contents()) быстрее, аналогично с file vs explode(PHP_EOL,file_get_contents())
Maskca пишет:
этот дописанный текст мгновенно вывелся на страницу
ну вот - уже совершенно другая задача.
Уж не чат ли пишете? (Добавление)
+ вы себе точно представляете, что PHP - язык серверный?
----- PostgreSQL DBA
EuGen
Отправлено: 18 Октября, 2011 - 16:55:17
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Мелкий
Нет, я тоже могу ошибаться, потому что всего знать/помнить не получится. Поэтому вряд ли стоит думать о некотором скрытом смысле, если я в чем-то неточен/ошибаюсь (один лишь пример с регистронезависисимыми именами функций чего стоит) Maskca
inotifywait здесь ни при чем, так как исполняется на сервере, который к моменту вывода чего-либо в браузере уже отработал, сделав ответ.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 18 Октября, 2011 - 17:03:33
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
EuGen, потому и спросил, в общем-то. Был ли скрытый смысл или нет
----- PostgreSQL DBA
DeepVarvar
Отправлено: 30 Декабря, 2011 - 12:51:44
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Пусть и немного поздновато, я почти археолог. Однако.
Чтобы не читать ни файл ни его хеши и не вызывать всякие exec, system и пр..
Используем для достижения тех же целей: fileatimefilemtime и они кешируются, поэтому нужен еще clearstatcache
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.