28. oktober 2005 - 10:37
Der er
15 kommentarer og 1 løsning
Sletning ved hjælp af RMDIR
Er der nogle som har en fungerende rmdir() kode som går ind og sletter en mappe + alt hvad der ligger i mappen?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
28. oktober 2005 - 11:23
#2
Hvad for en er bedst at bruge?
28. oktober 2005 - 11:25
#3
Har ikke testet nogen af dem, men denne falder mig da først i øjnene: function rmdirr($dir) { if($objs = glob($dir."/*")){ foreach($objs as $obj) { is_dir($obj)? rmdirr($obj) : unlink($obj); } } rmdir($dir); } Og umiddelbart ser det da ikke tosset ud :)
28. oktober 2005 - 11:33
#4
Nej den er heller ikke så lang .. haha :D
28. oktober 2005 - 11:43
#5
Skal den bruge hele stien .. altså fra roden af? eller tror du den kan nøjes med "../filer/mappe"?
28. oktober 2005 - 11:52
#6
Du bør kunne nøjes med ../filer/mappe - men du må jo prøve det af. Den skal nok brokke sig, hvis den ikke kan finde biblioteket.
28. oktober 2005 - 12:01
#7
Hmm det virker ik helt.. det ser sådan her ud nu: <?php require "db.php"; //Hvis der bliver trykket ja if (isset($_POST['ja'])) { $sti_start = $_SERVER["DOCUMENT_ROOT"]; $sti = str_replace("..", "", $sti); $sti_hel = $sti_start ."/djmini". $sti; $dir = $sti_hel; function rmdirr($dir) { if($objs = glob($dir."/*")){ foreach($objs as $obj) { is_dir($obj)? rmdirr($obj) : unlink($obj); } } rmdir($dir); } header("Location:slet_gal_valg.php"); } ?> Men den sletter ikke mappen på serveren :/
28. oktober 2005 - 12:07
#8
Den brokker sig heller ikke hvis jeg nøjes med at sige: require "db.php"; //Hvis der bliver trykket ja if (isset($_POST['ja'])) { $dir = $_POST['sti']; function rmdirr($dir) { if($objs = glob($dir."/*")){ foreach($objs as $obj) { is_dir($obj)? rmdirr($obj) : unlink($obj); } } rmdir($dir); } header("Location:slet_gal_valg.php"); } ?>
28. oktober 2005 - 12:13
#9
Lad være med at smide alt muligt andet (pt. unødigt) fis ind i testefasen :) Test det som jeg pastede det fra php.net.
28. oktober 2005 - 12:16
#10
Jamen det har jeg.. det er jo sådan set if (isset($_POST['ja'])) { $dir = $_POST['sti']; function rmdirr($dir) { if($objs = glob($dir."/*")){ foreach($objs as $obj) { is_dir($obj)? rmdirr($obj) : unlink($obj); } } rmdir($dir); } } - altså uden header
28. oktober 2005 - 12:18
#11
Prøv: if (isset($_POST['ja'])) { function rmdirr($dir) { if($objs = glob($dir."/*")){ foreach($objs as $obj) { is_dir($obj)? rmdirr($obj) : unlink($obj); } } rmdir($dir); } rmddirr($_POST['sti']); }
28. oktober 2005 - 12:28
#12
så siger den: Fatal error: Call to undefined function: rmddirr()
28. oktober 2005 - 12:30
#13
Det er jo fordi jeg har sat et d for meget ind -> rmdirr og ikke rmddirr
28. oktober 2005 - 12:34
#14
Griner ja det så jeg også lige.. men nu sletter den fint :)
28. oktober 2005 - 12:36
#15
Fint, så vil jeg tillade mig at smide et svar :)
28. oktober 2005 - 12:45
#16
Det er helt i orden.. Tak for det! -lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling