Как разрешить пользователям загружать файлы на сайт, чтобы я мог их получать? - PullRequest
0 голосов
/ 11 июля 2020

Я получаю сообщение об ошибке сервера, когда пытаюсь выполнить следующий код на моем локальном хосте. Пожалуйста, дайте мне знать, если что-то не так с моим кодом

вот мой HTML код:

<section class= "box3">
    <h4>Become a contributor</h4>
    <div class="lines"></div>
    <form class="contact-form" action="uploads.php" method= "POST" enctype= "multipart/form-data"> 
        <input type= "file" name="file" class= "contact-form-text" >
        <button type="submit" class="contact-form-btn" name="submit">Upload</button>
    </form>
</section>

Вот мой PHP код

<?php

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', 'doc');

   if (in_array($fileActualExt, $allowed)) {
       if ($fileError === 0) {
           if ($fileSize < 10000000) {
            $fileNameNew = uniqid ('', true).".".$fileActualExt;
          $fileDestination = 'upload/'.$fileNameNew;
          move_uploaded_file($fileTmpName, $fileDestination);
          header ("Location : Contact.html?uploadedsuccessfully");
        } else {
            echo "Your file is too big!";
        }  

    } else {
        echo "There was an error uploading your file!";
    } 
} else {
    echo "You cannot upload files of this type!";
}


} 

1 Ответ

0 голосов
/ 13 июля 2020

это будет работать:

<?php

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', 'doc');

    if (in_array($fileActualExt, $allowed)) {
        if ($fileError === 0) {
            if ($fileSize < 10000000) {
                $fileNameNew = uniqid ('', true).".".$fileActualExt;
                $fileDestination = 'upload/'.$fileNameNew;
                move_uploaded_file($fileTmpName, $fileDestination);
                header ("Location Contact.html uploadedsuccessfully");
            } else {
                echo "Your file is too big!";
            }  
        } else { echo "There was an error uploading your file!"; } 
    } else { echo "You cannot upload files of this type!";}

} 

?>

кажется, что ошибка была в виде вопросительного знака, как показано ниже

header ("Location Contact.html?uploadedsuccessfully");
...