2016-07-18 2 views
1

им с помощью простого типа входного файла для загрузки PDF на сервер:При загрузке файла is_uploaded_file возвращает false?

<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».

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

+1

Насколько велик файл и какой максимальный лимит загрузки в вашей конфигурации PHP? [См. Здесь] (http://php.net/manual/en/features.file-upload.errors.php) для дальнейшего устранения неполадок. –

+0

Im, загружающий тестовый pdf-файл размером менее 1 мб, моя конфигурация php установлена ​​в 25 МБ –

+0

Что делает '$ _FILES ['userfile'] ['error']' tell you? –

ответ

-1

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

0

Я предпочитаю использовать:

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

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

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

для перемещения загружаемого файла. И пока это работает.

Смежные вопросы