PHP tmpfile () возвращает false - PullRequest
6 голосов
/ 07 июня 2011

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

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

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

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

Ответы [ 4 ]

11 голосов
/ 07 июня 2011

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

3 голосов
/ 07 июня 2011

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

0 голосов
/ 08 июня 2016

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

0 голосов
/ 07 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...