php getimagesize перестал работать

Мой сценарий до сих пор работал нормально; Мне удалось загрузить файлы изображений без каких-либо проблем, но не в последнее время. Вот как я устраняю проблему:

Проверьте, загружен ли файл или нет.

if ($_FILES['foto']["error"] > 0){
    echo "Upload of photo image file failed (".$_FILES["foto"]["error"].").";
}

Ошибка не возвращается, следовательно, загрузка прошла успешно.

Затем я попытался вывести $_FILES['foto']['tmp_name'], это тоже возвращает путь.

Затем я проверил, существует ли функция: function_exists ('getimagesize'); это возвращает истину

Затем я подтверждаю значение allow_url_fopen = On в php.ini

Наконец, эта строка var_dump(getimagesize($_FILES['foto']['tmp_name'])); возвращает bool (false)

Что здесь происходит и почему не работает функция getimagesize. Я пробовал с разными типами изображений.


person sridhar    schedule 01.11.2013    source источник
comment
error_reporting включен? Попробуйте добавить error_reporting(E_ALL); перед вызовом getimagesize.   -  person Koen.    schedule 02.11.2013


Ответы (2)


Что, если вы сначала переместите изображение в каталог, не являющийся временным, а затем выполните getimagesize, например:

move_uploaded_file($_FILES['foto']['tmp_name'], '/my/dir/' . $_FILES['foto']['name']);
var_dump(getimagesize('/my/dir/' . $_FILES['foto']['name']));
person Koen.    schedule 01.11.2013
comment
Я переместился к файлу в известное место и вызвал var_dump (getimagesize ($ filename])); он возвращает bool (false). Я проверил физический файл, это 0 КБ. Похоже, файл загружается неправильно. - person sridhar; 02.11.2013

Это очень странная проблема; когда я повторил процесс с помощью браузера Chrome, ОШИБКИ НЕТ вообще. Эта проблема возникает только в самой последней версии Internet Explorer 11 от Microsoft. По-видимому, у браузера есть некоторые проблемы с загрузкой содержимого, отправленного пользователем.

person sridhar    schedule 03.11.2013