2017-10-09 1 views
-1

Im mit laravel hochladen. Und der img wird nicht in meinen öffentlichen/imgs-Ordner hochgeladen. Es sagt weiter Es gab einen Fehler beim Hochladen Ihrer Datei.Kann nicht img in einen Ordner

// PHP CODE 
$target_dir = "public/imgs/"; 
$target_file = $target_dir . basename($_FILES["img"]["name"]); 


if (move_uploaded_file($_FILES["img"]["name"], $target_file)) { 
    echo "success"; 
} 
else { 
    echo "Sorry, there was an error uploading your file."; 
} 

// HTML CODE 
<form method="POST" action="/listings" enctype="multipart/form-data"> 
    <input type="file" name="img"> 
</form> 
+0

versuchen Sie 'Echo' Sorry (Upload fehlgeschlagen) '. $ _FILES ['img'] ['error']; 'und siehe die Referenz hier http://php.net/manual/en/features.file-upload.errors.php – vee

+0

ich denke, dass Sie den vollständigen Pfad aus schreiben sollten der Root-Pfad (wie:/var/www/public/imgs), außer natürlich, wenn public bereits im Root-Pfad ist –

+0

@vee, als ich das tat, sagte es. sorry (Upload fehlgeschlagen) 0 ich habe versucht, dass schon jacky – Jeff99

Antwort

0

Vielleicht sollten Sie Ihre ursprüngliche move_uploaded_file Funktion

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

See the diff between name and tmp_name

+0

Es hatte immer noch den gleichen Fehler. Beim Hochladen Ihrer Datei ist ein Fehler aufgetreten. – Jeff99

+0

ist das Verzeichnis imgs vorhanden? – obfish

+0

ja hier ist es https://imgur.com/a/dPVXr – Jeff99

0

Zuerst sicher dir die Upload machen ändern existiert und beschreibbar; dann ist file_uploads in php.ini auf

+0

Ich benutze Laravel wie kann ich das tun? Hier sind meine Dateien https://imgur.com/a/dPVXr – Jeff99

+0

Sie können public_path ('') verwenden, um das richtige Upload-Verzeichnis in Laravel zu erhalten. Und die $ file = request-> file(), um die Upload-Datei zu bekommen, dann $ datei-> move() zu verschieben –

0
<form method="POST" action="/listings" enctype="multipart/form-data"> 
    <input type="file" name="img"> 
</form> 

HTML

$target_dir = "public/imgs/"; 
$target_file = $target_dir . basename($_FILES["img"]["name"]); 
if ($_FILES['img']['error'] == 0) { 
    if (move_uploaded_file($_FILES['img']['tmp_name'], $target_file)) { 
     echo 'success'; 
    } else { 
     echo 'upload failed<br>'; 
     echo '<pre>'; 
     echo 'tmp name: '; 
     print_r($_FILES['img']['tmp_name']); 
     echo "\n target: ".$target_file; 
     echo "\n\n"; 
     print_r($_FILES['img']); 
     echo '</pre>'; 
    } 
} else { 
    echo 'upload failed: ' . $_FILES['img']['error']; 
} 

PHP

Dieser Code sollte alle Daten für das Debuggen arbeiten und zeigen.

Verwandte Themen