PHP tmpfile() возвращает false
У меня есть скрипт загрузки изображений, который ранее работал. Теперь он сломан, и я проследил проблему до одной строки:
$temp = tmpfile();
// $temp === false
Функция tmpfile () возвращает false. Я никак не могу понять почему. Я с трудом пробираюсь через Google на этом.
Скрипт он сломал только в моей локальной тестовой среде, OSX 10.6.7, под управлением MAMP 1.9.5. К счастью, живой сайт работает нормально.
4 ответов:
Tmpfile () возвращает
false, если не удается создать временный файл. Убедитесь, что ваша папка tmp доступна для записи, и попробуйте проверить, что возвращает функцияsys_get_temp_dir().
Это может быть проблема с разрешениями. Используйте
sys_get_temp_dir(), чтобы увидеть, где будет создан временный файл и убедиться, что php имеет доступ к записи там.
Во-первых, включите все предупреждения PHP, чтобы увидеть, говорит ли он вам что-то.
Во-вторых, проверьте папку temp и убедитесь, что PHP имеет к ней доступ на запись. Возможно, что определенные ограничения" безопасного режима " (базовые Dir и т. д.) препятствуют доступу.
В моем случае папка, в которой он пытался создать файл, имела временные файлы, начиная с tmpFFFF.ПТМ. После перемещения этих временных файлов из папки, он начал обратно в tmp1.ПТМ.
Comments