Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?

Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?

王林
王林Original
2021-09-16 14:36:372970Durchsuche

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.

Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?

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:

Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?

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:

Was soll ich tun, wenn PHP meldet, dass das Upload-Stammverzeichnis nicht existiert?

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wozu dient das PHP-Feld?Nächster Artikel:Wozu dient das PHP-Feld?