Radera undermapp

PHP

6 svar · 649 visningar · startad av Trankan

Medlem sedan okt. 2006129 inlägg
Trådstart#1

Hej!

Skulle vilja ha en funktion som raderar en undermapp och dess innehåll utan att radera den mapp som undermappen ligger i. Är det någon som vet hur man löser det här?

Medlem sedan nov. 200742 inlägg
#2

kolla detta exemplet:
http://se2.php.net/manual/en/function.rmdir.php#82764

sitter du på *unix kan du köra system("rm -rf undermapp/");

Medlem sedan okt. 2006129 inlägg
#3

Testade faktiskt just det exemplet, men det raderar även den mapp som undermappen ligger i. :l

Medlem sedan nov. 200742 inlägg
#4

använd funktionen is_dir() för kolla om filen är en mapp. Är filen en mapp får du välja att inte radera ut den.

te.x

if!(is_dir($var)){
rm_dir($var) }
else {
//gör ingenting
}
Medlem sedan okt. 2006129 inlägg
#5

Förstår inte riktigt? Mappen som sökvägen går till ska ju tas bort, men grejen är den att mappen inte ligger i roten på FTP:n utan i en annan mapp som ska vara kvar. Det kan även tilläggas att PHP-filen med scriptet ligger inte i samma mapp som den mapp som ska tas bort.

Medlem sedan apr. 2006244 inlägg
#6

Något i den här stilen bör ju fungera

<?php

function delete_dir_content($path, $delete_files=false) {

  if ($handle = opendir($path)) {

    while (false !== ($file = readdir($handle))) {
        if(is_dir($file)) {
           delete_dir_content($path.$file, true);
           rmdir($path.$file);
        }
       elseif($delete_files) {
          unlink($file); 
       }
    }

    closedir($handle);
  }
}
?>

Om detta blev rätt nu så raderar funktionen alla undermappar och dess innehåll, filerna i mappen behålls dock. Vill du radera allt i mappen så anropar du delete_dir_content('mapp/', true); vill du enbart radera alla undermappar anropar du delete_dir_content('mapp/');

// Vic

Medlem sedan okt. 2006129 inlägg
#7

Tack för svaret Vic! Vet inte om jag var otydlig, men det kommer att finnas flera undermappar och jag vill kunna radera en specifik mapp, så jag misstänker att din funktion inte fungerar så bra?

270 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)