[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: filemtime
Ron
Привет!

Имеем вот такой код:
file_put_contents(PUBLICROOT . $wwwPath, $xml->asXML());
echo time() . PHP_EOL;
echo $wwwPath . ' : ' . filemtime(PUBLICROOT . $wwwPath) . PHP_EOL;
/*
* 1480529710
* /sitemaps/product-0.xml : 1480529710
* 1480529710
* /sitemaps/product-1.xml : 1480529710
* 1480529710
* /sitemaps/catalog-1.xml : 1480398832
*/


То есть получаем на файле catalog-1.xml метку старой модификации, а не той, которая только что произошла. А она произошла! Это видно через ОС и при следующем вызове (запуске другого скрипта) filemtime('catalog-1.xml'). Но вот почему-то сразу после модификации отдает неверную информацию. Пробовал переписать через fwrite, делал паузу между записью и чтением времени, картина никак не меняется.

Ошибка появляется не всегда, случайно наткнулся, именно на такой комбинации файлов. Может быть существуют другие.

Тестировал на разных ОС с разными версиями PHP результат одинаковый. Какие есть идеи почему так может происходить?
brevis
А если clearstatcache() вызвать?

_____________
Чатик в телеге
Ron
О как! Это же надо же! Блин, даже в официальной доке на filemtime сказано, господи, позор мне... =( Странно, что другие файлы нормально "срабатывают", вот что смутило, хотя они все второй раз опрашиваются.

Благодарю за ответы!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.