Файл move_uploaded_file не работал на сервере SQL - PullRequest
0 голосов
/ 16 мая 2018

Я использую php для веб-разработки.В настоящее время я должен использовать сервер SQL в качестве базы данных для моего нового проекта.Моя проблема в том, что коды для загрузки файлов на сервер, которые я обычно применяю при использовании mysql, не работают на сервере sql.Есть ли какая-то специальная функция, которую я должен добавить при загрузке файла на сервер SQL?

Кстати, вот код, который я обычно использовал и хорошо работает на сервере MySQL:

<?php
if (isset($_POST['submit'])){
$file=$_FILES['file'];

$fileName=$_FILES['file']['name'];
$fileTmpName=$_FILES['file']['tmp_name'];
$fileExt=explode('.', $_FILES['file']['name']);
$fileActualExt = strtolower(end($fileExt));

$allowed = array('jpg', 'jpeg', 'png', 'pdf');

if (in_array($fileActualExt, $allowed)){

}else{
    echo"not this type";
}
$fileDestination = 'uploads/'.$fileName;
if (move_uploaded_file($fileTmpName,$fileDestination)){

header("location:form.php?uploadsuccess");
}
else{
    echo "uploading error";
}
}
?>

Я был бы очень признателен за решения:)

1 Ответ

0 голосов
/ 16 мая 2018

Я точно не знаю, в чем проблема в вашем коде.Если вы использовали эту строку <form action="test.php" method="post" enctype="multipart/form-data"> в своей форме, и вы делаете это на локальном хосте, в противном случае это было что-то с пути.Если вы попробуете этот код, который я сделал, если это не сработает, вы должны искать ошибки, возможно, вы используете cpanel или включаете отчеты об ошибках

    if(isset($_POST['submit'])){
    $file = $_FILES['file'];

            $fileName = $_FILES['file']['name'];
            $fileTmpName = $_FILES['file']['tmp_name'];
            $fileSize = $_FILES['file']['size'];
            $fileError = $_FILES['file']['error'];
            $fileType = $_FILES['file']['type'];

            $fileExt = explode('.', $fileName);
            $fileActualExt = strtolower(end($fileExt));

            $allowed = array('jpg', 'jpeg', 'png', 'pdf');

            if(in_array($fileActualExt, $allowed)){
                if($fileError === 0){
                    if($fileSize < 1000000){
                        $fileNameNew = uniqid('', true).".".$fileActualExt;
                        $fileDestination = 'uploads/'.$fileNameNew;
                        move_uploaded_file($fileTmpName, $fileDestination);
                        header("location:form.php?uploadsuccess");
                    }else{
                        echo "Your file is too big!";
                    }
                }else{
                    echo "There was an error uploading your file!";
                }
            }else{
                echo "You can't upload files of this type!";
            }
       }
...