Kann ordner nicht löschen

EuroCent

Klappstuhl 2.0
Hallo

Habe folgendes problem:

Habe ein Setup script geschrieben und lasse am ende der Installation alle relevanten dateien löschen

Nun versuche ich schon mit unlink, unset und rmdir den ordner "install" zu löschen leider ohne erfolg!

Wie schaffe ich das den Ordner zu löschen?

Habe es so:

PHP:
<?php
@unlink("sql.sql");
@unlink("setup.php");
@unlink("query.php");
@unlink("index.php");
@rmdir("install/");
@unlink("install/");
?>

Wie man sieht unterdrücke ich die Meldungen!
Ich lösche also als erstes die Dateien und danach eigentlich den ordner nur der löscht den ordner nicht... weiss auch nicht warum!

Könnte mir da jemand rat geben warum oder woran der fehler liegen könnt?
 
Hast du mal versucht mit opendir erst einmal das verzeichnis zu öffnen und dann erst zu löschen
 
Wechle mit chdir($verzeichnis) erst in den Ordner. Lösche de Dateien per unlink. Geh mit chdir() wieder in den ordner darüber und löschen dann mit rmdir().
 
Hast du mal versucht mit opendir erst einmal das verzeichnis zu öffnen und dann erst zu löschen

Warum soll ich erst das Verzeichnis öffnen?

Wenn ich die darin befindlichen Dateien gelöscht habe will ich ann den ordner auch noch mit löschen... ich weiss allerdings das der Ordner sich nur löscht wenn sich in dem Verzeichnis keine dateien mehr vorhanen sind!

@Gumbo

Hier die Fehlermeldung:


Warning: rmdir(install/) [function.rmdir]: No such file or directory in /var/www/virtual/domain.de/cms/htdocs/wmis/install/setup.php on line 465

Warning: unlink(install/) [function.unlink]: No such file or directory in /var/www/virtual/domain.de/cms/htdocs/wmis/install/setup.php on line 466
 
Ich will wissen, ob sich das Skript, das das Verzeichnis samt Inhalt löschen soll, sich ebenfalls in diesem Verzeichnis („/wmis/install“) befindet oder ob es sich wo anders befindet, beispielsweise in dem übergeordneten Verzeichnis („/wmis“).
 
function rmdir_mi($dirname) {
if ($handle = opendir($dirname)) {
chdir($dirname);
while ($datei = readdir($handle)) {
if ($datei == '.' OR $datei == '..') continue;
//Funktion für unterverzeichnis aufrufen(rekursiv)
if (is_dir($datei)) rmdir_mi($datei);
else unlink($datei);
}
chdir('../');
if(rmdir($dirname)) return TRUE;
closedir($handle);
}
}

Das is ne Funktion zum löschen eines Ordners indem sich auchncoh unterordner befinden können. Löscht automatisch alle darin enthaltene Dateien.
 
Zurück