Почему не сохраняет svg?

Норм сохраняет png и jpg, а svg не видит. В чем проблема?

<?php
$link = mysqli_connect($db_host, $db_user, $db_password, $db_database) 
    or die("Ошибка " . mysqli_error($link)); 
$error_img = array();

if($_FILES['upload_image']['error'] > 0)
{
 //в зависимости от номера ошибки выводим соответствующее сообщение
 switch ($_FILES['upload_image']['error'])
 {
 case 1: $error_img[] =  'Размер файла превышает допустимое значение UPLOAD_MAX_FILE_SIZE'; break;
 case 2: $error_img[] =  'Размер файла превышает допустимое значение MAX_FILE_SIZE'; break;
 case 3: $error_img[] =  'Не удалось загрузить часть файла'; break;
 case 4: $error_img[] =  'Файл не был загружен'; break;
 case 6: $error_img[] =  'Отсутствует временная папка.'; break;
 case 7: $error_img[] =  'Не удалось записать файл на диск.'; break;
 case 8: $error_img[] =  'PHP-расширение остановило загрузку файла.'; break;
 }

}else
{
//проверяем расширения
if($_FILES['upload_image']['type'] == 'image/jpeg' || $_FILES['upload_image']['type'] == 'image/jpg' || $_FILES['upload_image']['type'] == 'image/png' || $_FILES['upload_image']['type'] == 'image/svg' || $_FILES['upload_image']['type'] == 'image/SVG')
{ 

$imgext = strtolower(preg_replace("#.+\.([a-z]+)$#i", "$1", $_FILES['upload_image']['name']));

    //папка для загрузки
$uploaddir = '../uploads_images/';
//новое сгенерированное имя файла
$newfilename = $_POST["id"].''.$id.rand(10,30000).'.'.$imgext;
//путь к файлу (папка.файл)
$uploadfile = $uploaddir.$newfilename;
 
//загружаем файл move_uploaded_file
if (move_uploaded_file($_FILES['upload_image']['tmp_name'], $uploadfile))
{

	$update = mysqli_query($link,"UPDATE soc SET image='$newfilename' WHERE id = '$id'");   


}
else
{
 $error_img[] =  "Ошибка загрузки файла.";    
}
 

    
}else
{
 $error_img[] =  'Допустимые расширения: jpeg, jpg, png, svg, SVG';
}
 

}


?>
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Правильный тип для SVG - image/svg+xml
А вообще, весьма ощутимо индусским кодом попахивает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы