2016-04-13 20 views
0

Ich versuche, ein Bild hochladen mit:Fehler in move_uploaded_file

$sourcePath = $_FILES['file']['tmp_name']; 
$targetPath = "upload/".$_FILES['file']['name']; 

move_uploaded_file($sourcePath,$targetPath) ; 

aber es gibt immer ein Fehler wie folgt aus:

Warnung: move_uploaded_file (upload/13709_965665460118582_8676485775333023105_n.jpg): fehlgeschlagen zu öffnen Stream: Keine solche Datei oder Verzeichnis in C: \ xampp \ htdocs \ AjaX \ ajax_php_file.php on line 23

Warnung: move_uploaded_file(): Kann 012 nicht verschieben'C: \ xampp \ tmp \ php3C97.tmp' zu 'upload/13709_965665460118582_8676485775333023105_n.jpg' in C: \ xampp \ htdocs \ Ajax \ ajax_php_file.php on line 23

Was soll ich jetzt tun mit dieser Sache?

+0

Existiert das Verzeichnis 'upload /'? –

+0

Das Verzeichnis 'upload' ist so eingestellt, dass es ein Unterverzeichnis des Ortes ist, von dem aus das PHP-Skript läuft. – Martin

+0

Drucken oder protokollieren Sie den $ sourcePath im Fehlerprotokoll. – Pupil

Antwort

0

Stellen Sie sicher, dass

  • die Datei ohne Fehler hochgeladen wurde (php manual)
  • das Zielverzeichnis existiert und beschreibbar
0

Die anwser direkt vor Ihnen ist:

Warnung: move_uploaded_file (Upload/13709_965665460118582_8676485775333023105_n.jpg): failed to open stream: No such file or directory in C: \ xampp \ htdocs \ Ajax \ ajax_php_file.php on line

Die Warnung "Keine solche Datei oder das Verzeichnis" eindeutig fest, das Ihr Problem ist,

Das Verzeichnis <script location>/upload existiert nicht, Sie können $_SERVER['DOCUMENT_ROOT'] verwenden, um einen absoluten Dateipfad für Ihren Zielspeicherort zu erhalten.

In der Regel ist der Wert DOCUMENT_ROOT der Stamm Ihrer Domäne als Dateipfad, so dass $_SERVER['DOCUMENT_ROOT'] derselbe Speicherort in der Dateistruktur ist wie http://www.yourwebdomain.com/<here>.

+0

Außerdem, und da bin ich mir da nicht so sicher, versuche das 'upload /' durch 'upload \' zu ersetzen, damit es mit dem Rest der Dateistruktur zusammenpasst. Ihr Pfad, den Sie PHP nennen, ist 'C: \ xampp \ htdocs \ AjaX \ upload \' wenn dieser Pfad nicht existiert, dann erstellen Sie ihn. – Martin

Verwandte Themen