PHP tmpfile() возвращает false



У меня есть скрипт загрузки изображений, который ранее работал. Теперь он сломан, и я проследил проблему до одной строки:



$temp = tmpfile();
// $temp === false


Функция tmpfile () возвращает false. Я никак не могу понять почему. Я с трудом пробираюсь через Google на этом.



Скрипт он сломал только в моей локальной тестовой среде, OSX 10.6.7, под управлением MAMP 1.9.5. К счастью, живой сайт работает нормально.

715   4  

4 ответов:

Tmpfile () возвращает false, если не удается создать временный файл. Убедитесь, что ваша папка tmp доступна для записи, и попробуйте проверить, что возвращает функция sys_get_temp_dir().

Это может быть проблема с разрешениями. Используйте sys_get_temp_dir(), чтобы увидеть, где будет создан временный файл и убедиться, что php имеет доступ к записи там.

Во-первых, включите все предупреждения PHP, чтобы увидеть, говорит ли он вам что-то.

Во-вторых, проверьте папку temp и убедитесь, что PHP имеет к ней доступ на запись. Возможно, что определенные ограничения" безопасного режима " (базовые Dir и т. д.) препятствуют доступу.

В моем случае папка, в которой он пытался создать файл, имела временные файлы, начиная с tmpFFFF.ПТМ. После перемещения этих временных файлов из папки, он начал обратно в tmp1.ПТМ.

Comments

    Ничего не найдено.