06. april 2011 - 13:26
Der er
10 kommentarer og 1 løsning
Slet mappe og indhold med unlink()
Jeg har lavet denne kode som slette en mappe i min ftp men vil også have at den sletter alle filer i den valgte mappe. Kan regne ud at jeg skal bruge unlink() men ved bare ikke hvordan jeg får sat det ind i min kode. --- Filen --- <?php $directory = $_GET['navn']; if (rmdir("../image/$directory")) { echo "<b>Galleriet belv slettet</b>"; } else { echo "<b>Galleriet kunne ikke slettes</b>"; } ?>
Annonceindlæg fra FPT Software
06. april 2011 - 13:43
#1
det her er ikke afprøvet, men tager alle filer i din mappe og sletter dem (burden den gøre) <?php $directory = $_GET['navn']; $h = opendir("../images/" . $directory); while(($file = readdir($h))!==false){ if($file != "." && $file != ".."){ unlink("../images/" . $directory . "/" . $value); } } if (rmdir("../image/" . $directory)) { echo "<b>Galleriet belv slettet</b>"; } else { echo "<b>Galleriet kunne ikke slettes</b>"; } ?>
06. april 2011 - 13:54
#2
Virker ikke helt melder disse to fejl Warning: unlink(../image/asjkdasjkdask/) [function.unlink]: Is a directory in /home/magasens/public_html/admin/sletmappe_upload.php on line 26 Warning: rmdir(../image/asjkdasjkdask) [function.rmdir]: Directory not empty in /home/magasens/public_html/admin/sletmappe_upload.php on line 30 og det er efter at jeg lige har rettet ../images/ til ../image/ :)
06. april 2011 - 14:03
#3
Så du har mapper inden i dine mapper? ;) så er det nemlig lidt mere komplekst. Skriver lige igen
06. april 2011 - 14:07
#4
Ja, derfor at jeg har lavet dette i min kode: $directory = $_GET['navn']; if (rmdir("../image/$directory"))
06. april 2011 - 14:07
#5
Du kan bruge en funktion. function deletedir($dir){ $h = opendir($dir); while(($file = readdir($h))!==false){ if($file != "." && $file != ".."){ if(isdir($file)){ deletedir($file); } else { unlink($dir . "/" . $value); } } } } Jeg er ikke sikker på at den virker, men prøv
06. april 2011 - 14:09
#6
hov nej. Jeg lavede en fejl før. unlink("../images/" . $directory . "/" . $value); skal rettes til unlink("../images/" . $directory . "/" . $file);
06. april 2011 - 14:12
#7
Øøøh... Hvordan skal den kode sidde sammen med dan gamle...?
06. april 2011 - 14:15
#8
tag koden fra #i ret dette: unlink("../images/" . $directory . "/" . $value); skal rettes til unlink("../images/" . $directory . "/" . $file);
06. april 2011 - 14:19
#9
Det jeg mener er hvordan jeg kobler denne kode while(($file = readdir($h))!==false){ if($file != "." && $file != ".."){ if(isdir($file)){ deletedir($file); } else { unlink($dir . "/" . $value); } } } } sammen med <?php $directory = $_GET['navn']; $h = opendir("../images/" . $directory); while(($file = readdir($h))!==false){ if($file != "." && $file != ".."){ unlink("../images/" . $directory . "/" . $value); } } if (rmdir("../image/" . $directory)) { echo "<b>Galleriet belv slettet</b>"; } else { echo "<b>Galleriet kunne ikke slettes</b>"; } ?> Kan du ikke bare prøve at skrive koden... :)
06. april 2011 - 15:26
#10
Tak for hjælpen, ved ikke om du vil have min 5 point ellers lukker jeg den bare... :D
06. april 2011 - 17:12
#11
svar ;)
Vi tilbyder markedets bedste kurser inden for webudvikling