3Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
571
571
EMPFEHLEN
-
30.11.11 00:48 #1
- Registriert seit
- Mar 2011
- Beiträge
- 47
Hallo Community,
ich habe ein kleines Problem, ich versuche eine Funktion zu schreiben, die Ordner sammt Unterordner löscht. Habe bis jetzt 2 Varianten versucht, aber es geht irgendwie nicht. Wenn ich halt alle Unterordner lösche, dann wir mein Hauptordner gelöscht, so wie es sein sollte, aber sobald ich Unterordner estelle geht gar nichts. Vllt. habe ich irgendwo einen Fehler im Code ?
Danke schon mal für die Feedbacks.
Hier sind meine zwei Varianten
1.
2.PHP-Code:
function album_delete($alb_id)
{
$album = $_SERVER['DOCUMENT_ROOT'] . "/uploads/albums/".$alb_id."/";
$files = glob($album . '*');
if ($files)
{
foreach($files AS $file)
{
if (is_dir($file))
{
if (!@unlink($file))
{
chmod($file, 0777);
unlink($file);
}
}
}
}
if (!@rmdir($album))
{
chmod($album, 0777);
rmdir($album);
}
}
PHP-Code:function album_delete($alb_id)
{
$album = $_SERVER['DOCUMENT_ROOT'] . "/uploads/albums/".$alb_id;
chmod($album,0777)
if (is_dir($album))
{
$folder = opendir($album);
while($filename = readdir($folder))
{
if ($filename != "." && $filename != "..")
{
unlink($album."/".$filename);
}
}
closedir($folder);
rmdir($album);
}
}
-
Irgendwelche Fehlermeldungen?
PS:
im 2. PHP-Code in der zeile mit
Copy und Paste fehler?PHP-Code:chmod($album,0777)//;<-- fehlt das ';'
-
30.11.11 11:30 #3
- Registriert seit
- Mar 2011
- Beiträge
- 47
och hab wohl ausversehen gelöscht
) danke.
nein, keine Fehlermeldungen und es wird auch nichts gelöscht. Beide Scripts zeigen auch den Inhalt, aber dass mit löschen will irgendwie nicht klappen.
Sieht so aus: Hauptordner/ 2 Unterordner / und Inhalt
sobald ich Unterordner von Hand löschen, wird der Hauptordner per PHP gelöscht, sobald ich wieder Unterordner anlege passiert wieder nix.
-
Eine Rekursive Funktion währe angesagt, die durch jeden Unterordner durchgeht und dort ebenfalls die Dateien löscht. Leere Ordner lassen sich nicht löschen.
PHP-Code:function deleteFolder($albumPath){
$items = scandir($albumPath);
foreach($items as $itemName){
if ($itemName != "." && $itemName != "..")
$itemPath = $album.'/'.$itemName;
if(isdir($itemPath)){
// Unterordner löschen
deleteFolder($itemPath);
}else{
// Datei löschen
unlink($itemPath);
}
}
}
rmdir($albumPath);
}
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
30.11.11 12:05 #5
Hier meine Funktion zum Rekursiven löschen eines Verzeichnisses:
PHP-Code:function deleteDirectory($dir) {
if (!file_exists($dir)) return true;
if (!is_dir($dir) || is_link($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!$this->deleteDirectory($dir . "/" . $item))
{
chmod($dir . "/" . $item, 0777);
if (!$this->deleteDirectory($dir . "/" . $item)) return false;
};
}
return rmdir($dir);
}
Die Schweine von heute sind unsere Schnitzel von morgen!
-
30.11.11 12:28 #6
- Registriert seit
- Mar 2011
- Beiträge
- 47
so jetzt habe ich es, dankeschön an alle !
Ähnliche Themen
-
Ordner, Unterordner und Dateien löschen per VBS
Von Supe im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 10.03.10, 09:09 -
Ordner und dessen Unterordner löschen
Von EddieG im Forum PHPAntworten: 15Letzter Beitrag: 23.10.09, 00:11 -
FTP Ordner und Unterordner downloaden
Von gpsscout im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 03.07.07, 03:55 -
[Batch] Bestimmte Ordner+Inhalt aus Verzeichniss löschen
Von TorC im Forum Sonstige SprachenAntworten: 2Letzter Beitrag: 10.02.05, 23:34 -
Ordner und Unterordner in ZIP packen
Von NightWatcher im Forum PHPAntworten: 8Letzter Beitrag: 07.08.04, 14:39





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren