Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?
Lösung, wenn PHP meldet, dass das Stammverzeichnis nicht vorhanden ist: Erteilen Sie zunächst Berechtigungen für das Stammverzeichnis und prüfen Sie, ob das Problem behoben ist. Verwenden Sie schließlich den Befehl mkdir, um einen neuen Ordner zu erstellen die höchsten Berechtigungen für den neu erstellten Ordner.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP 7, Thinkpad T480-Computer.
Problembehebung:
Nachdem ich versucht habe, ein Bild hochzuladen, erhielt ich die Meldung: „Das Upload-Stammverzeichnis existiert nicht! Bitte versuchen Sie, es manuell zu erstellen.“
Lösung:
Versuchen Sie zunächst, die Erlaubnis zu erteilen. Wenn das Problem weiterhin besteht, löschen Sie den Ordner. Verwenden Sie dann den Befehl mkdir, um einen neuen Ordner zu erstellen und ihm 777-Berechtigungen zu erteilen.
Frage 2:
Ich bin während des Entwicklungsprozesses beim Hochladen von Bildern mit ThinkPHP3 auf die folgenden Probleme gestoßen:
Das Upload-Stammverzeichnis existiert nicht! Bitte versuchen Sie, manuell zu erstellen: ./Uploads/; die hochgeladenen Bilder haben beim Hochladen von Dateien einen verstümmelten Ordner, der nach dem aktuellen Datum benannt wird und die Dateien darin gespeichert werden.
Hinweis: Die Entwicklungsumgebung ist Xampp unter Windows
Anbei ist der Code, bevor das Problem gelöst wird:
Im Folgenden finden Sie die Lösungen für die drei Probleme:
Problem 1
Beim Überprüfen der Informationen einige Internetnutzer sagten, dass Probleme mit Ordnerberechtigungen wie folgt gelöst werden können:
Wenn Sie beispielsweise hochgeladene Bilder im Verzeichnis ./Uploads speichern möchten, setzen Sie rootPath auf „./“ und savePath auf den zu speichernden Pfad davor „.“ setzen. Der endgültige Speicherverzeichnispfad ist ./Uploads/1/.
$upload->rootPath = "./"; $upload->savePath = "Uploads/$uid/";
Frage 2
Suchen Sie die Speichermethode in der Datei ThinkPHPLibraryThinkUploadDriverLocal.class.php:
Ändern Sie
if (!move_uploaded_file($file['tmp_name'], $filename))
in
if (!move_uploaded_file($file['tmp_name'], iconv('utf-8','gb2312',$filename)))
Frage 3
Wann. Hochladen , wird das Unterverzeichnis automatisch zum Speichern der hochgeladenen Datei verwendet Standardmäßig ist das $upload->autoSub = true; Setzen Sie es auf false.
Fügen Sie den folgenden Code zum Upload-Parameter im Code hinzu:
$upload->autoSub = false;
Empfohlenes Lernen: php-Training
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!