2016-07-18 6 views
1

im eine einfache Eingabedateityp unter Verwendung eines pdf zum Server hochladen:Beim Hochladen einer Datei gibt is_uploaded_file false zurück?

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

Und ich erhalte die Datei im PHP für das Hochladen:

<?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!'; 
     } 


?> 

Die Sache ist die Bedingung nie aufgerufen wird Bekomme ich immer eine falsche 'is_uploaded_file'.

Ich würde gerne wissen, was ich falsch mache, danke!

+1

Wie groß ist die Datei und wie hoch ist das maximale Upload-Limit in Ihrer PHP-Konfiguration? [Siehe hier] (http://php.net/manual/en/features.file-upload.errors.php) zur weiteren Fehlersuche. –

+0

Wenn ich eine Test-PDF-Datei von weniger als 1 MB hochlade, ist meine PHP-Konfiguration auf 25 MB eingestellt. –

+0

Was sagt '$ _FILES ['userfile'] ['error']' dir? –

Antwort

-1

Ihre Anfrage Methode überprüfen - es POST sein sollte, nicht PUT/PATCH/...

0

Ich benutze lieber:

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

zu überprüfen, ob alles in Ordnung ist, und wenn ja, dann ich verwenden Sie

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

, um die hochgeladene Datei zu verschieben. Und bis jetzt funktioniert es.