Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Как исправить ошибку Notice: Undefined index: userfile при загрузке файла

Добавляю форму загрузки файла в свой скрипт, но настранице с формой отображается ошибка
Notice: Undefined index: userfile in /var/www/general.php on line 20
Подскажите, как исправить ошибку в этой строке if(($_FILES['userfile']['type'] == 'image/gif' || $_FILES['userfile']['type'] == 'image/jpeg' || $_FILES['userfile']['type'] == 'image/png') && ($_FILES['userfile']['size'] != 0 and $_FILES['userfile']['size']<=512000))
Обработчик загрузки файла
$uploaddir = '/var/blogx/img/'; // это папка, в которую будет загружаться картинка $apend='logo.jpg'; // это имя, которое будет присвоенно изображению $uploadfile = "$uploaddir$apend"; //в переменную $uploadfile будет входить папка и имя изображения
// В данной строке самое важное - проверяем загружается ли изображение (а может вредоносный код?) // И проходит ли изображение по весу. В нашем случае до 512 Кб if(($_FILES['userfile']['type'] == 'image/gif' || $_FILES['userfile']['type'] == 'image/jpeg' || $_FILES['userfile']['type'] == 'image/png') && ($_FILES['userfile']['size'] != 0 and $_FILES['userfile']['size']<=512000)) { // Указываем максимальный вес загружаемого файла. Сейчас до 512 Кб if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { //Здесь идет процесс загрузки изображения $size = getimagesize($uploadfile); // с помощью этой функции мы можем получить размер пикселей изображения if ($size[0] < 501 && $size[1]<1501) { // если размер изображения не более 500 пикселей по ширине и не более 1500 по высоте echo "Логотип удачно загружен и установлен!"; } else { echo "Загружаемое изображение превышает допустимые нормы (ширина не более - 500; высота не более 1500)"; unlink($uploadfile); // удаление файла } } else { echo "Файл не загружен, вернитеcь и попробуйте еще раз"; } } else { echo "Размер файла не должен превышать 512Кб.
Поддерживается JPEG, GIF и PNG формат файла."; }
Форма


Спасибо!


Ответ

Можно так:
if ($_FILES['userfile']['type'] == 'image/gif') { ... }
Или в добавок сделать проверку существования переменной с помощь isset
if (isset($_FILES['userfile']) && $_FILES['userfile']['type'] == 'image/gif') { ... }

Комментариев нет:

Отправить комментарий