PHP file_exists () возвращает false для некоторых файлов

У меня странная проблема с функцией PHP file_exists () в Linux сервер.

При использовании file_exists для проверки наличия изображения на сервере перед его редактированием иногда происходит сбой без видимой причины. Пути к файлам являются абсолютными, и я проверил их через ssh, они на 100% соответствуют указанному пути.

Изображения, которые не работают с file_exists (), все равно будут отображаться в браузере. Код не имеет значения - базовый var_dump (file_exists (' /home/user/path/image.jpg')); вернет false.

Права доступа / права собственности на файлы точно такие же для всех изображений и родительских каталогов. Безопасный режим отключен. Ошибок PHP нет. Я сейчас в тупике и не знаю, что искать.

Вот как изображения находятся на сервере:

/home/user/public_html/images/location/1.jpg -- will work
/home/user/public_html/images/location2/1.jpg -- won't work
/home/user/public_html/images/location2/2.jpg -- will work

У меня есть root-доступ к серверу, поэтому, если у кого-то есть идеи, я с радостью их опробую.

Заранее благодарим за совет, дайте мне знать, если вам понадобится дополнительная информация.

РЕДАКТИРОВАТЬ: Чтобы ответить на вопросы в комментариях ниже.

  • Да, изображения есть, это определенно не кешируется.
  • Безопасный режим отключен (я уже упоминал об этом в своем сообщении).
  • Пути не символические ссылки, а прямые ссылки в расположение файлов на сервере.
  • Феникс, это согласовано. Рабочие файлы будут работать всегда, и наоборот. Имена: 1.jpg, 1.thumb.jpg и т. Д., Поэтому странные символы или пробелы не являются проблемой.
[root@server ~]# ls -l /home/user/public_html/images/Hawkhurst/
total 92
-rwxr-xr-x  1 user user 24501 Aug 11  2009 1.jpg
-rwxr-xr-x  1 user user  1672 Aug 11  2009 1.thumb.jpg
-rwxr-xr-x  1 user user 14983 Aug 11  2009 2.jpg
-rwxr-xr-x  1 user user  1370 Aug 11  2009 2.thumb.jpg
-rwxr-xr-x  1 user user 17238 Aug 11  2009 3.jpg
-rwxr-xr-x  1 user user  1453 Aug 11  2009 3.thumb.jpg
-rwxr-xr-x  1 user user 14168 Aug 11  2009 4.jpg
-rwxr-xr-x  1 user user  1464 Aug 11  2009 4.thumb.jpg 
[root@server ~]#

Я пробовал с разрешениями 777 и 755, которые не имеют значения. Например, в этой папке 1 и 2 могут работать, а 3 и 4 - нет ...

Я провел быстрый тест, чтобы увидеть, как работает apache / php, и они работают как никто, но это не объясняет, почему некоторые изображения работают, а некоторые нет с теми же разрешениями.

РЕДАКТИРОВАТЬ 2: Проблема решена. Не могу поверить, насколько это было глупо, некоторые имена файлов, которые были вызваны из базы данных, имели пробелы в конце ... Кто бы ни создавал исходный сценарий, не выполнял никакой очистки перед их сохранением.

8
задан Ben 10 January 2011 в 11:19
поделиться