PHP правильный цикл while: (false! == ($ file = readdir ($ handle))) не показывает последние изменения файлов с помощью MAMP на OSX - PullRequest
1 голос
/ 25 июля 2011

К настоящему времени я убежден, что должен быть одним из немногих, кто испытал что-то подобное. Проблема в том, что мой PHP не отображает обновления (или недавние изменения файлов) в определенном каталоге.

Скажем, у меня есть 3 файла: 1.jpg 2.jpg 3.jpg

Когда я делаю что-то вроде этого:

while (false !== ($file = readdir($handle))) {
    echo $file.'<br />';
}

Я получаю:
.
..
1.jpg
2.jpg
3.jpg

Что и ожидается, но проблема в том, что при удалении одного файла я все еще вижу старый список из трех файлов. Я проверил с Apache, перейдя непосредственно в каталог, и я вижу новое изменение только с двумя файлами в папке. Если я выведу изображение в HTML, я получу три тега изображения, но последний будет пустым. Так что кеша с Apache там не происходит.

Я использую MAMP на OSX, я отключил все, что могу придумать, поэтому в заголовке нет XCache, eAccelerator, а также нет кэша. Я даже попытался с помощью clearstatcache (), после чего перезапустил сервер / компьютер, перешел с PHP 5.3 на PHP 5.2 и снова вернулся.

Последние две вещи, которые я попробовал, обновили MAMP до последней версии (в настоящее время 2.0.1) и очистили все .DS_Store от моего локального хоста, но безрезультатно. Я вижу обновления в Finder, Apache их тоже видит, это всего лишь PHP, который решает придерживаться старой версии содержимого папки.

Моя версия PHP 5.3 с MAMP на OSX Snow Leopard.

Любые идеи / предложения приветствуются:)

...