Как загрузить только определенные форматы при загрузке изображений в php, используя pathinfo_extension - PullRequest
0 голосов
/ 01 октября 2018

У меня есть раздел загрузки изображений на моей странице.Там пользователь должен загружать только формат изображения.Я создал код с проверкой расширения файла с помощью PATHINFO_EXTENSION.

if(isset($_POST['addstaff']))
{
    $name=$_POST['name'];
    $photo=$_FILES['photo']['name'];
    $phototmp=$_FILES['photo']['tmp_name'];
    $location="staff/";
    $uploading=move_uploaded_file($phototmp,"staff/".$photo);
    $up="staff/".$photo;
    $imageFileType = strtolower(pathinfo($photo,PATHINFO_EXTENSION));
    $empid=$_POST['empid'];
    $pass=$_POST['pass'];
    $password=password_hash($pass,PASSWORD_BCRYPT);
    $branch=$_POST['branch'];
    $doj=$_POST['doj'];
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
        echo "<script>alert('Sorry, only JPG, JPEG, PNG & GIF files are allowed.');</script>";
        }
        else{
            $query="insert into staffdetails value('','$name','$empid','$branch','$doj','$up')";
        $exe=mysqli_query($con,$query);
        if($exe){
            echo "<script>alert('Inserted');</script>";
        }
        else{
            echo "errr".mysqli_error($con);
        }
        }


}

Здесь проблема заключается в том, что когда я загружаю php-файл или любой другой файл, а не файлы изображений, он правильно отображает предупреждающее сообщение «Извините, разрешены только файлы JPG, JPEG, PNG & GIF».Но также он вставляет файл.Я добавил это в if else условие Тогда, как оба условия if и else работают вместе.Пожалуйста, помогите

1 Ответ

0 голосов
/ 01 октября 2018

Вы должны вызвать функцию move_uploaded_file () после успешной проверки

Измените код на

if(isset($_POST['addstaff']))
{
    $name=$_POST['name'];
    $photo=$_FILES['photo']['name'];
    $phototmp=$_FILES['photo']['tmp_name'];
    $location="staff/";
    $up="staff/".$photo;
    $imageFileType = strtolower(pathinfo($photo,PATHINFO_EXTENSION));
    $empid=$_POST['empid'];
    $pass=$_POST['pass'];
    $password=password_hash($pass,PASSWORD_BCRYPT);
    $branch=$_POST['branch'];
    $doj=$_POST['doj'];
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
        echo "<script>alert('Sorry, only JPG, JPEG, PNG & GIF files are allowed.');</script>";
        }
        else{
            $uploading=move_uploaded_file($phototmp,"staff/".$photo);
            $query="insert into staffdetails value('','$name','$empid','$branch','$doj','$up')";
            $exe=mysqli_query($con,$query);
           if($exe){
               echo "<script>alert('Inserted');</script>";
           }
           else{
               echo "errr".mysqli_error($con);
           }
        }


}
...