 |
18.03.2006, 12:27
| Nach oben
#1 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
| Prob. beim Ordner löschen
Hi, da bin ich mal wieder http://www.selfphp.de/funktionsrefer...onen/rmdir.php
Als Erklärung zur Funktion PHP-Code: $del=rmdir("usr/gal/".$myid."/".$name."/thumb"); // Thumb-Ordner löschen $del=rmdir("usr/gal/".$myid."/".$name); // Hauptordner löschen if($del=0){ die("Fehler beim löschen des Ordners vom Server"); }
Habe die Ordnerberechtigungen für den Ordner auch mal auf 0777 gesetzt, passiert leider nichts, die Pfadangaben sind korrekt und werden auch korrekt ein bzw. ausgelesen, es scheitert nur am löschen selber.
Der zu löschende Ordner ist nicht leer, kann es daran liegen?
Grüße
Tim |
| |
18.03.2006, 12:33
| Nach oben
#2 | | Benutzer
Registriert seit: 17.08.2005
Beiträge: 87
| Zitat: |
Zitat von X-Unity.de Der zu löschende Ordner ist nicht leer, kann es daran liegen? | Handbuch sagt: Zitat: |
Zitat von http://de3.php.net/rmdir Das Verzeichnis muss leer sein | |
| |
18.03.2006, 12:36
| Nach oben
#3 | | Corvin Gröning
Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 459
|
__________________ |
| |
18.03.2006, 12:37
| Nach oben
#4 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
Weist du wie ich die Dateien daraus auf einmal löschen kann?
Alle Bilder vorher auslesen und einzelnd löschen lassen´oder gibt es da eine elegantere Lösung?
|
| |
18.03.2006, 12:47
| Nach oben
#5 | | Christian Mühlroth
Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
| Zitat: |
Zitat von X-Unity.de Weist du wie ich die Dateien daraus auf einmal löschen kann?
Alle Bilder vorher auslesen und einzelnd löschen lassen´oder gibt es da eine elegantere Lösung? | |
| |
18.03.2006, 12:50
| Nach oben
#6 | | Corvin Gröning
Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 459
|
Er hat wohl grad geschrieben, als ich auch dabei war
__________________ |
| |
18.03.2006, 13:05
| Nach oben
#7 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
Stimmt *lol*
Hab das jetzt soweit, er löscht auch ganz nett den Inhalt.. nur leider auch nen Überordner der auf keinen Fall gelöscht werden darf und zwar den mit der User-Id ("myid") PHP-Code: function delete($file) {
chmod($file,0777);
if (is_dir($file)) {
$handle = opendir($file);
while($filename = readdir($handle)) {
if ($filename != "." && $filename != "..") {
delete($file."/".$filename);
}
}
closedir($handle);
rmdir($file);
} else {
unlink($file);
}
}
/*************************************/
$id=$_REQUEST['myid'];
$ordid=$_REQUEST['ordid'];
// Löscht Datenbank Eintrag
$sql2="SELECT * FROM `usrgally` WHERE `id`='$ordid'";
$data2=mysql_query($sql2);
if($data2){
while($res2=mysql_fetch_object($data2)){
$name=$res2->ordner; }}
if(!data2){ die("Fehler beim holen des Ordnernamen" .mysql_error()); }
$sql3="DELETE FROM `usrgallery` WHERE `id`='$ordid'";
$data3=mysql_query($sql3);
if(!data3){ die("Fehler beim löschen aus der Datenbank" .mysql_error()); }
delete("usr/gal/$myid/$name/thumb");
delete("usr/gal/$myid/$name");
usr/gal/ bleibt
usr/gal/71
löscht den ganzen Ordner 71 in dem sich auch die anderen User-Gallerien befinden was natürlich mehr oder wneiger tödlich ist ^^
Geändert von X-Unity.de (18.03.2006 um 13:55 Uhr)
|
| |
18.03.2006, 15:17
| Nach oben
#8 | | Benutzer
Registriert seit: 24.01.2006
Beiträge: 66
|
und keinem ist was bei dem code aufgefallen? PHP-Code: $del=rmdir("usr/gal/".$myid."/".$name."/thumb"); // Thumb-Ordner löschen $del=rmdir("usr/gal/".$myid."/".$name); // Hauptordner löschen if($del=0){ die("Fehler beim löschen des Ordners vom Server"); }
wie zum beispiel das if($def=0)? sollte das nicht wenn es einen sinn haben soll eher if($def == 0) sein?
naja wobei das ja nur die ausgabe der Meldung beeinflusst und nicht die aktion ansich.. |
| |
18.03.2006, 15:59
| Nach oben
#9 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
Hey, danke für die Info ^^
Nutze jetzt aber den Code über deinem Post und nicht mehr den von dir beschriebenen.. trotzdem thx |
| |
18.03.2006, 16:10
| Nach oben
#10 | | Dejan Spasic
Registriert seit: 05.01.2006 Ort: Düsseldorf
Beiträge: 169
|
Probier mal das hier. PHP-Code: <?php
try {
$id = @$_REQUEST['myid'];
$ordid = @$_REQUEST['ordid'];
// Löscht Datenbank Eintrag
$res = mysql_query(sprintf("SELECT ordner FROM `usrgally` WHERE `id`=%d",
(int) $ordid));
if (is_resource($res)) {
list($name) = mysql_fetch_row($res);
@mysql_free_result($res);
$res = null;
} else {
throw new Exception("Fehler beim holen des Ordnernamen " . mysql_error(),
mysql_errno());
}
$res = mysql_query(sprintf("DELETE FROM `usrgallery` WHERE `id`=%d",
(int) $ordid));
if (!$res) {
throw new Exception("Fehler beim löschen aus der Datenbank" .
mysql_error(), mysql_errno());
}
$gallery = new RecursiveDirectoryIterator("usr/gal/$myid/$name");
$rit = new RecursiveIteratorIterator($gallery,
RecursiveIteratorIterator::CHILD_FIRST);
foreach ($rit as $file) {
//unlink($file->getPathname());
printf('%s %s %s', str_repeat(' ' , $rit->getDepth()),
$file->getPathname() , PHP_EOL);
}
} catch (Exception $e) {
print $e->getMessage();
}
?>
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
Geändert von dejan_spasic (18.03.2006 um 16:26 Uhr)
|
| |
19.03.2006, 10:52
| Nach oben
#11 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
Parse error: parse error, unexpected '{' in .../show/myprof-edit-gal-deldir.php on line 18
Entspricht bei dir folgender Zeile: |
| |
19.03.2006, 10:59
| Nach oben
#12 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
|
Der Code setzt PHP 5 voraus.
Grüße, Ben.
[EDIT]
Ich sehe, dass in Deinem Profil PHP 5.0.x als Version angegeben ist. Sicher?
|
| |
19.03.2006, 11:10
| Nach oben
#13 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
ok, peinlich.. hab ich verklickt -.- *sry*
Wrd mich glaub heut mal dransetzen und das updaten, hat jemand aus dem stehgreif n Link zu ner deutschen Anleitung? ^^
Wenn nicht google ich durch die Weltgeschicht |
| |
19.03.2006, 11:14
| Nach oben
#14 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
| Zitat: |
Zitat von X-Unity.de Wrd mich glaub heut mal dransetzen und das updaten, hat jemand aus dem stehgreif n Link zu ner deutschen Anleitung? ^^ | www.xampp.de als Komplettsystem oder vielleicht hier? http://www.intermitto.net/php/installation/modul/
Kurz gegoogelt. Kenn mich da nicht aus, da ich XAMPP nutze. |
| |
19.03.2006, 11:21
| Nach oben
#15 | | Neuer Benutzer
Registriert seit: 18.03.2006 Ort: Bochum
Beiträge: 10
|
Danke für die Hilfe, würds dan gern direkt auf meinen Linux-Root im Netz draufhauen... teste eigentlich alles direkt im Netz unter realen Bedingungen.
|
| |
19.03.2006, 11:27
| Nach oben
#16 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
| Zitat: |
Zitat von X-Unity.de teste eigentlich alles direkt im Netz unter realen Bedingungen. | Dann mach. Selbst Schuld ^^ :X
|
| | |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | | | | Themen-Optionen | Thema durchsuchen | | | |
Forumregeln
| Es ist dir nicht erlaubt, neue Themen zu verfassen. Es ist dir nicht erlaubt, auf Beiträge zu antworten. Es ist dir nicht erlaubt, Anhänge hochzuladen. Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten. HTML-Code ist aus. | | | Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
|