PHP: $tmp_name=$_FILES['picture']['tmp_name']; $type=$_FILES['picture']['type']; $file = 'path/to/image.jpg'; $image_mime = image_type_to_mime_type(exif_imagetype($tmp_name)); $array=['image/gif','image/jpeg','image/png','image/png']; foreach($array as $arrays){ if($arrays==$image_mime){ $alpha[]=$arrays; } } if (is_uploaded_file($_FILES['picture']['tmp_name'])) { $name= md5(generateCode(10)) . $_FILES['picture']['name']; $photo='files/pics/'.$name; } move_uploaded_file($tmp_name, "$photo"); Не работает под как сделать код рабочим От модератора: код вставляй через кнопку </>
PHP: <?php declare ( strict_types = 1 ); error_reporting ( E_ALL ); var_dump ( base64_decode ( "0J/Qu9Ce0YLQuCA1MDAg0YDRg9CxLiAwMCDQutC+0L8uIDop" ) ); Наверху скрипта забыл добавить... Поэтому не работает.
Добрый день! вот это выглядит странно: PHP: $image_mime = image_type_to_mime_type(exif_imagetype($tmp_name)); $array=['image/gif','image/jpeg','image/png','image/png']; foreach($array as $arrays){ if($arrays==$image_mime){ $alpha[]=$arrays; } } Вы загружаете один файл и у него может быть только один mime-тип. Цикл здесь не нужен. Вам нужно сравнивать тип загружаемого файла со значениями из массива. Например, так: PHP: if (is_uploaded_file($_FILES['picture']['tmp_name'])) { ... ... if(in_array($image_mime, $array)){ ... move_uploaded_file($tmp_name, $photo); } else { echo "Error: File type incorrect!" } } else { echo "Error: ..."; } Удачи!