ustas
Элекомист №1
Минные поля в функциях filectime(), filemtime() и unlink().
в справке php начертано
int fileatime ( string filename )
Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу, или FALSE в случае ошибки.
Время возвращается в формате 'Unix timestamp'.
Примечание: Проедполагается, что время последнего доступа файла изменяется во время чтения блоков файла.
Это может потребовать значительного количества системных ресурсов, особенно когда приложение обращается к большому числу файлов или каталогов. С целью увеличения производительности, некоторые файловые системы
на платформах Unix могут быть примонтированы с отключенной возможностью обновления времени последнего доступа к файлам, примером этого могут служить каталоги для хранения сообщений USENET. В подобных случаях использование данной функции бессмысленно.
1.) Вопрос админам и хостерам *nix, относится ли все выше написаное к функциям filectime, filemtime
Вернее можно ли надеется на то, что эти функции вернут правильное значение, и запись о времени последнего изменения файла (или создания) не cможет отключить хостер?
2.) Вопрос к остальным. Если может, тогда как грамотней решить задачу получения информации о времени изменении (создания) файла?
3.) Есть ли подводные камни в реализации подмены файлов при таком кешировании (при нагрузке более 5 запросов в секунду)
4.) Теория. Куда еще в теории можно быстро писать кеш. И так же быстро читать (кроме fs) без большой нагрузки на сервер? sql db неподходит, с нее нагрузку и снимаем.
Любителям попинать. Поиском не нашел и google не знает.
в справке php начертано
int fileatime ( string filename )
Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу, или FALSE в случае ошибки.
Время возвращается в формате 'Unix timestamp'.
Примечание: Проедполагается, что время последнего доступа файла изменяется во время чтения блоков файла.
Это может потребовать значительного количества системных ресурсов, особенно когда приложение обращается к большому числу файлов или каталогов. С целью увеличения производительности, некоторые файловые системы
на платформах Unix могут быть примонтированы с отключенной возможностью обновления времени последнего доступа к файлам, примером этого могут служить каталоги для хранения сообщений USENET. В подобных случаях использование данной функции бессмысленно.
1.) Вопрос админам и хостерам *nix, относится ли все выше написаное к функциям filectime, filemtime
Вернее можно ли надеется на то, что эти функции вернут правильное значение, и запись о времени последнего изменения файла (или создания) не cможет отключить хостер?
2.) Вопрос к остальным. Если может, тогда как грамотней решить задачу получения информации о времени изменении (создания) файла?
3.) Есть ли подводные камни в реализации подмены файлов при таком кешировании (при нагрузке более 5 запросов в секунду)
Код:
@unlink($file);
$res = rename($tmp_file, $file);
@unlink($tmp_file);
Любителям попинать. Поиском не нашел и google не знает.