При загрузке файла is_uploaded_file возвращает false?

php file-upload

1450 просмотра

2 ответа

1451 Репутация автора

Я использую простой тип входного файла для загрузки PDF на сервер:

<form action="subirCircular.php" method="post" enctype="multipart/form-data">

     <input type="file" name="userfile" accept="application/pdf">
     <br><br>

  <button type="submit" class="btn btn-default">Subir</button>
</form>

И я получаю файл в php для загрузки:

<?php
 define ("FILEREPOSITORY","./uploads/");

   if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {

      if ($_FILES['userfile']['type'] != "application/pdf") {
         echo "<p>Class notes must be uploaded in PDF format.</p>";
      } else {
         $name = $_POST['name'];
         $result = move_uploaded_file($_FILES['userfile']['tmp_name'], FILEREPOSITORY."/$name.pdf");
         if ($result == 1) echo "<p>File successfully uploaded.</p>";
         else echo "<p>There was a problem uploading the file.</p>";
      } #endIF
   }else{
       echo 'ERROR!';
       }


?>

Дело в том, что условие никогда не вызывается, я всегда получаю ложный файл is_uploaded_file.

Я хотел бы знать, что я делаю неправильно, спасибо!

Автор: Karlo A. López Источник Размещён: 18.07.2016 04:47

Ответы (2)


-1 плюса

1 Репутация автора

Проверьте ваш метод запроса - это должен быть POST, а не PUT / PATCH / ...

Автор: alexeymarunin Размещён: 28.03.2017 04:16

1 плюс

96 Репутация автора

Я скорее использую:

$_FILES['userfile']['error']

чтобы проверить, все ли в порядке, и если да, то я использую

move_uploaded_file($_FILES['userfile']['tmp_name'],$pathname)

переместить загруженный файл. И пока все работает.

Автор: WeHumLove Размещён: 28.03.2017 04:30
Вопросы из категории :
32x32