Unlöschbare Ordner auf dem Server löschen!
#1
Hallo Leute,

hier ein Codeschnippsel wie Ihr z.B. von einen Script generierte Ordner wegbekommt worauf Ihr per FTP Client keinen Zugriff mehr drauf habt dieses hat bei mir Funktioniert Wink

[code=php]
<?php

// rec_rmdir - loesche ein Verzeichnis rekursiv
// Rueckgabewerte:
// 0 - alles ok
// -1 - kein Verzeichnis
// -2 - Fehler beim Loeschen
// -3 - Ein Eintrag eines Verzeichnisses war keine Datei und kein Verzeichnis und
// kein Link
function rec_rmdir ($path) {
// schau' nach, ob das ueberhaupt ein Verzeichnis ist
if (!is_dir ($path)) {
return -1;
}
// oeffne das Verzeichnis
$dir = @opendir ($path);

// Fehler?
if (!$dir) {
return -2;
}

// gehe durch das Verzeichnis
while ($entry = @readdir($dir)) {
// wenn der Eintrag das aktuelle Verzeichnis oder das Elternverzeichnis
// ist, ignoriere es
if ($entry == '.' || $entry == '..') continue;
// wenn der Eintrag ein Verzeichnis ist, dann
if (is_dir ($path.'/'.$entry)) {
// rufe mich selbst auf
$res = rec_rmdir ($path.'/'.$entry);
// wenn ein Fehler aufgetreten ist
if ($res == -1) { // dies duerfte gar nicht passieren
@closedir ($dir); // Verzeichnis schliessen
return -2; // normalen Fehler melden
} else if ($res == -2) { // Fehler?
@closedir ($dir); // Verzeichnis schliessen
return -2; // Fehler weitergeben
} else if ($res == -3) { // nicht unterstuetzer Dateityp?
@closedir ($dir); // Verzeichnis schliessen
return -3; // Fehler weitergeben
} else if ($res != 0) { // das duerfe auch nicht passieren...
@closedir ($dir); // Verzeichnis schliessen
return -2; // Fehler zurueck
}
} else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) {
// ansonsten loesche diese Datei / diesen Link
$res = @unlink ($path.'/'.$entry);
// Fehler?
if (!$res) {
@closedir ($dir); // Verzeichnis schliessen
return -2; // melde ihn
}
} else {
// ein nicht unterstuetzer Dateityp
@closedir ($dir); // Verzeichnis schliessen
return -3; // tut mir schrecklich leid...
}
}

// schliesse nun das Verzeichnis
@closedir ($dir);

// versuche nun, das Verzeichnis zu loeschen
$res = @rmdir ($path);

// gab's einen Fehler?
if (!$res) {
return -2; // melde ihn
}

// alles ok
return 0;
}

// loesche das Verzeichnis /tmp/test_verzeichnis
$res = rec_rmdir ('/tmp/test_verzeichnis');
switch ($res) {
case 0:
echo'das Verzeichnis wurde korrekt gelöscht';
break;
case -1:
echo'das war kein Verzeichnis';
break;
case -2:
echo'ein Fehler ist aufgetreten';
break;
case -3:
echo'die Funktion ist über einen Dateityp gestolpert, den sie nicht kennt';
break;
default:
echo'Die Funktion hat irgend etwas zurückgegeben, was sie eigentlich nicht sollte';
break;
}
?>
[/code]
  Zitieren
#2
Geht aber noch einfacher :-)

FTP Programm einloggen und schauen ob versteckte dateien vorhanden sind. Wenn ja. löschen und weg ist es :-) Meist löschen sich die Ordner nicht weil access dateien oder ähnliche darin befinden.
Liebe Grüße,
cHAp  :drink:

Meine Webseite: xprog.de - mailda.de - wazesn.de - chatworkers.de
  Zitieren
#3
Meinste Wink

Flasch.

als Owner wwwrun haste kein Zugriff was der Benutzer angelegt hat (bzw. Script)

-> web[xxx]... Ist ja ein anderer Benutzer... man kann aber sowas konfiguriern das wwwrun unter dem web[xxx] benutzer liegt sowas wie root rechte z.b. daher gibts dieses schöne script...
  Zitieren
#4
wwwrun kann man ganz einfach löschen mittels ftp-programm. geht bei 1und1 so, bei meinen server, und andere auch die ich habe ;-)

Wüsste nicht wo das problem ist Wink
Liebe Grüße,
cHAp  :drink:

Meine Webseite: xprog.de - mailda.de - wazesn.de - chatworkers.de
  Zitieren
#5
dan is das nur bei uns so ^^ kannst ja auch keine chmod rechte verändern mehr :/
  Zitieren
#6
Klar selbst das kann ich machen Smile
Liebe Grüße,
cHAp  :drink:

Meine Webseite: xprog.de - mailda.de - wazesn.de - chatworkers.de
  Zitieren
#7
na egal das trotzdem schönes script wenn man ma ordnung haben will *FG* mit einen klick ist alles weg :lachen:
  Zitieren
#8
Wenn das geht ist es natürlich eine gute sache :-)
Liebe Grüße,
cHAp  :drink:

Meine Webseite: xprog.de - mailda.de - wazesn.de - chatworkers.de
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste