Задать вопрос
ALXTNTCN
@ALXTNTCN

Как сделать запрет загрузки любых файлов кроме картинок на сервер?

Сделал по гайду загрузку картинок на сервер, но не могу понять как реализовать запрет загрузки любых файлов кроме картинок.

Не ругайтесь плиз я в php не особо силен(

<?php
  $msg = "";
  $msg_class = "";
  $conn = mysqli_connect("localhost", "root", "password", "dbname");
  if (isset($_POST['save_profile'])) {
    // for the database
    $bio = stripslashes($_POST['bio']);
    $profileImageName = time() . '-' . $_FILES["profileImage"]["name"];
    // For image upload
    $target_dir = "image/";
    $target_file = $target_dir . basename($profileImageName);
    // VALIDATION
    // validate image size. Size is calculated in Bytes
    if($_FILES['profileImage']['size'] > 200000) {
      $msg = "Image size should not be greated than 200Kb";
      $msg_class = "alert-danger";
    }
    // check if file exists
    if(file_exists($target_file)) {
      $msg = "File already exists";
      $msg_class = "alert-danger";
    }
    // Upload image only if no errors
    if (empty($error)) {
      if(move_uploaded_file($_FILES["profileImage"]["tmp_name"], $target_file)) {
        $sql = "INSERT INTO users SET profile_image='$profileImageName', bio='$bio'";
        if(mysqli_query($conn, $sql)){
          $msg = "Пост успешно опубликован!";
          $msg_class = "alert-success";
        } else {
          $msg = "Произошла ошибка в базе данных";
          $msg_class = "alert-danger";
        }
      } else {
        $error = "Произошла ошибка при загрузке файла";
        $msg = "alert-danger";
      }
    }
  }
?>
  • Вопрос задан
  • 248 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@green300
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Разрешены только файлы JPG, JPEG, PNG и GIF";
  $uploadOk = 0;
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы