2011-01-12 17 views
0

Ich habe Ordner mit dem PHP-Befehl mkdir erstellt. Jetzt möchte ich diese Ordner über FTP oder SSH löschen.Wie lösche ich Ordner, die mit PHP mkdir erstellt wurden?

Ich bekomme den Fehler "Erlaubnis verweigert". Ich bin auf einem verwalteten Server, daher habe ich keinen Root-Zugriff.

Was kann ich tun, damit ich diese Ordner löschen kann? Muss ich die Dateiberechtigungen (chmod) mit PHP ändern?

+0

Was Host ist es? Es kann etwas so Einfaches sein, wie sie die Fähigkeit deaktiviert haben, unlink() zu verwenden (vorausgesetzt, Sie verwenden das), oder dass die Art, wie sie Berechtigungen eingerichtet haben, es ermöglicht, zu erstellen, aber nicht zu löschen. Wir benötigen mehr Informationen, um Ihnen eine vernünftige Antwort zu geben. –

Antwort

3

Die Ordner wären mit den Besitzrechten/Berechtigungen desjenigen Kontos erstellt worden, unter dem PHP ausgeführt wurde (Apache, wenn Sie dies über ein webbasiertes Skript tun).

Sie können die Verzeichnisse nicht zu einem anderen Konto leiten, da hierfür Root-Berechtigungen erforderlich sind. Sie könnten das Skript, das die Verzeichnisse erstellt, auf den Modus 0777 setzen, der jedem Lese-, Schreib- und Löschzugriff gewährt, aber Sie möchten vielleicht nicht so weit öffnen.

1

Ja, Sie müssen chmod nach dem Erstellen von Verzeichnissen oder Dateien mit PHP ausführen. Weil PHP mit Apache-Berechtigungen läuft.

Nach chmod zu PHP/Apache Benutzer können Sie Ordner und Dateien umbenennen, verschieben oder löschen.

1

müssen Sie die Berechtigungen ändern zuerst:

chmod ("/ somedir/somefile", 755);

oder was auch immer Sie mögen dann können Sie mit

rmdir ("dir")

1

Ihre Erlaubnis prüfen entfernen Sie zuerst, wenn Sie irgendein Problem. Einige Ordner können Sie nur löschen oder chmod, wenn Sie Besitzer sind. Wenn Sie Besitzer sind, können Sie PHP chmod verwenden.

CHMOD("PATH_TO_FOLDER",0755); 

Dann unlink verwenden, um Dateien in Ordner zu löschen:

unlink("PATH_TO_FOLDER/*.*"); 

Und dann

rmdir("PATH_TO_FOLDER") 
Verwandte Themen