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";
      }
    }
  }
?>
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@green300
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Разрешены только файлы JPG, JPEG, PNG и GIF";
  $uploadOk = 0;
}
Ответ написан
Ваш ответ на вопрос

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

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