image — PHP Проверьте, является ли файл png, используя exif_imagetype ():

Я пытаюсь проверить файл png перед загрузкой и получаю сообщение об ошибке
Предупреждение: exif_imagetype (): имя файла не может быть пустым

Кажется, он работает с одним файлом по какой-то причине, но не с другими, которые я пробовал.

Основным является

$image = $_FILES['userImg']['tmp_name'];

if (checkImageValid($image))
{
uploadImage($image);
}

Функция checkImageValid является

function checkImageValid($image)
{

$valid = true;

$imgType = exif_imagetype($image);  //error here

if($imgType != IMAGETYPE_PNG)
{
$valid = false;
$_SESSION["imageMessege"] = 'The image You are trying to upload is not of type png';
}

return $valid;
}

получить его из формы HTML здесь

<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input type="file" name="userImg" accept="image/x-png"/>
<input type="submit" value="Upload File" name="uploadImage" />
</form>

1

Решение

<input type="hidden" name="MAX_FILE_SIZE" value="10000" />

Это ошибка. Измените значение на большее, оно в байтах. 10000 байт = ~ 10 КБ. Измените на 10000000 для ~ 10 МБ.

Замените строку на это:

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />

Я проверил его, и он отлично работает с любыми изображениями.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]