Avatar billede spm Nybegynder
25. februar 2005 - 11:38 Der er 9 kommentarer og
1 løsning

sletning af filer

Hey.
Jeg er ved at lave et script som virker, eller skal virke sådanne: Det skal slette alt indhold i en mappe. Jeg har prøvet lidt med unlink, men jeg for en Bool(false) og det står så det antal gange der er filer. Nogen kloge forslag?
Avatar billede kammeyer Nybegynder
25. februar 2005 - 11:58 #1
Måske du ikke får det rigtige filnavn / endelse med - den rigtige sti - eller du har slet ikke rettighed til at slette filerne.
Avatar billede spm Nybegynder
25. februar 2005 - 12:29 #2
Ja, det har jeg. Jeg har "777" på både filer om mapper.
filnavnet bliver hentet fra et lille script som læser indholdet i mappen. dvs $file er filnavnet som det står i mappen.
<?php
if ($handle = opendir('/bla/blabla/')) {
  while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
          unlink('/bla/blabla/$file').
      }
  }
  closedir($handle);
}
?>
Avatar billede greew Nybegynder
25. februar 2005 - 13:27 #3
Har du husket at have et semikolon efter

unlink('/bla/blabla/$file').

i stedet for et punktum??
Avatar billede greew Nybegynder
25. februar 2005 - 13:28 #4
Og derudover:

Ligger /bla/blabla i roden, eller ligger mapperne under andre mapper??
Avatar billede kammeyer Nybegynder
25. februar 2005 - 14:41 #5
Det virker fint hos mig.

Jeg har lige tjekket på www.php.net og søgt på bool(false). Fandt ikke noget direkte på opendir eller readdir, men det kunne indikere at den udskriver resultatet af en evaluering - jeg har taget din kode som kopi, ændret mappen til noget lokalt hos mig - og den virker fint.
Avatar billede spm Nybegynder
25. februar 2005 - 14:44 #6
Ja, jeg har med semikolon(sidder på arbejde og har ikke kopieret direkte)
stien er den rigtite. Jeg må lige prøve igen når jeg kommer hjem. vender tilbage kl 21.
Avatar billede spm Nybegynder
25. februar 2005 - 21:39 #7
den vil stadig ikke.
if ($handle = opendir('/x/xx/xxx/upload/')) {
  while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {

unlink('/x/xx/xxx/upload/$file');
        }
  }
  closedir($handle);
}
?>

Jeg har også prøvet med: unlink('/upload/$file');  men jeg får bare denne fejl:
Warning: unlink() failed (No such file or directory)
Avatar billede spm Nybegynder
26. februar 2005 - 00:48 #8
så har jeg fået det til at virke:
if ($handle = opendir($dir)) {
  while (false !== ($fil = readdir($handle))) {
    if ($fil != "." && $fil != "..") {
      unlink($dir.$fil);
      }
  }
  closedir($handle);
}

fandt det fra et andet indlæg..
Avatar billede kammeyer Nybegynder
26. februar 2005 - 14:09 #9
Jammen det lyder da dejligt. Så vidt jeg kan se, så har du smidt stien i en variabel og har på den måde sørget for konsistens. Så måske var det et problem med stien alligevel, for logikken er stadigvæk den samme.

Men kanon du kan komme videre :P
Avatar billede spm Nybegynder
18. marts 2005 - 12:25 #10
jeg fik det selv til at virke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester