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