Добавляю форму загрузки файла в свой скрипт, но настранице с формой отображается ошибка
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 "Логотип удачно загружен и установлен!</b>";
} else {
echo "Загружаемое изображение превышает допустимые нормы (ширина не более - 500; высота не более 1500)";
unlink($uploadfile);
// удаление файла
}
} else {
echo "Файл не загружен, вернитеcь и попробуйте еще раз";
}
} else {
echo "Размер файла не должен превышать 512Кб.<br> Поддерживается JPEG, GIF и PNG
формат файла.";
}
Форма
<form name="upload" class="uk-form" action="" method="POST" enctype="multipart/form-data"><input type="hidden" id="jstokenCSRF" name="tokenCSRF" value="a42c790ce05dc1fefc2da4a81de47a6f8706d403">
<input type="file" name="userfile">
<button type="submit" name="upload" class="uk-button uk-button-primary">Загрузить</button></form>
Спасибо!
Можно так:
if ($_FILES['userfile']['type'] == 'image/gif') { ... }
Или в добавок сделать проверку существования переменной с помощь isset
:
if (isset($_FILES['userfile']) && $_FILES['userfile']['type'] == 'image/gif') { ... }
$white = ['image/gif', 'image/jpeg', 'image/png']; // Список разрешенных типов
if ($_SERVER['REQUEST_METHOD'] == 'post') { // Если форма отправлена методом POST
if (isset($_FILES['userfile']) && in_array($_FILES['userfile']['type'], $white)) {
// Если существует $_FILES['userfile'] и его тип есть в $white тогда обрабатываем
...
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Запустил серверНаписал скрипт, который нужно выполнять два раза в день(утром и вечером)
Есть таблица БД с текстовыми полями ~30млнзаписей UTF-8
У меня в проекте соедини много плагинов но нужно сделать update только одного или двух плагинов , как можно это сделать ?