Avatar billede optur Novice
11. april 2011 - 10:47 Der er 1 kommentar og
1 løsning

delete files not in DB

Jeg skal lave en funktion som sletter alle filer hvis navn IKKE findes i databasen, men min kode kendskab er begrænset, så jeg sidder lidt fast, er der eventuelt en der kan hjælpe?

Jeg har fundet frem til følgende funktion:

$dir = 'your/directory/';
foreach(glob($dir.'*.*') as $v){
  unlink($v);
}


mit problem er så hvordan laver sådan at den tjekker databasen om filerne, og sletter dem som IKKE er der.
Avatar billede repox Seniormester
11. april 2011 - 11:03 #1
<?php

  $sql = "SELECT files FROM table";
  $res = mysql_query($sql);
  while($row = mysql_fetch_assoc($res))
    $files[] = $row["files"];

  $dir = "your/directory/";
  foreach(glob($dir."*") as $v)
  {
    if( !in_array(basename($v), $files) )
      unlink($v);
  }

?>
Avatar billede optur Novice
03. oktober 2012 - 10:20 #2
Lukket
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