Я пытаюсь проверить файл 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>
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
Это ошибка. Измените значение на большее, оно в байтах. 10000 байт = ~ 10 КБ. Измените на 10000000 для ~ 10 МБ.
Замените строку на это:
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Я проверил его, и он отлично работает с любыми изображениями.
Других решений пока нет …