Avatar billede fbb Nybegynder
10. juli 2004 - 00:24 Der er 11 kommentarer og
1 løsning

tjek i db

Hej, jeg har nogle billeder der skal rydes op i, jeg har alle de billeder der SKAL være der i min MySQL tabel numsegejlgalleri og filnavn udskrives med file_name. Billeder ligger i ../galleri

ALtås alle de billeder der findes i database skal blive der alle andre skal slettes (kun jpg-JPG)..

Håber en eller anden kan hjælpe mig.
Avatar billede jaw Nybegynder
10. juli 2004 - 00:34 #1
Det her ville nok umiddelbart være mit bud, men tag lige en backup af biblioteket først, eller test det på et andet bibliotek :)

<?
$q = mysql_query("SELECT * FROM numsegejlgalleri");
$billeder = array();
while($row = mysql_fetch_array($q)) {
  $billeder[] = $row['file_name'];
}

$directory = '../galleri/';
if($handle = opendir($directory)) {
  while (($file  = readdir($handle))) {
    if(!in_array($file, $billeder)) {
      //unlink billedet
    }
  }
}

?>
Avatar billede fbb Nybegynder
10. juli 2004 - 00:35 #2
//unlink billedet <- kan du ikke også smide den kode ind ?
Avatar billede jaw Nybegynder
10. juli 2004 - 00:44 #3
Den havde du jo lige i dit sidste spørgsmål, så det er jo bare
unlink("$directory/"$file);
sku jeg mene
Avatar billede fbb Nybegynder
10. juli 2004 - 00:45 #4
prøver lige
Avatar billede fbb Nybegynder
10. juli 2004 - 00:50 #5
Virker hvis jeg skriver:
    @unlink("$directory/$file");

Men den tag også andre ting end jpg/JPG muligt man kan bygge det ind? Så den kun tag de 2?
Avatar billede jaw Nybegynder
10. juli 2004 - 00:52 #6
Altså KUN .jpg? Så må det være:

<?
$q = mysql_query("SELECT * FROM numsegejlgalleri");
$billeder = array();
while($row = mysql_fetch_array($q)) {
  $billeder[] = $row['file_name'];
}

$directory = '../galleri/';
if($handle = opendir($directory)) {
  while (($file  = readdir($handle))) {
    if(!in_array($file, $billeder)) {
      $path_parts = pathinfo($file);
      if($path_parts["extension"] == "jpg") {
        @unlink("$directory/$file");
      }
    }
  }
}

?>
Avatar billede fbb Nybegynder
10. juli 2004 - 01:14 #7
Virker det så også, selv om hedder .JPG
Avatar billede jaw Nybegynder
10. juli 2004 - 02:37 #8
Den slette kun, hvis det er jpg-filer, ikke andre fil-typer...
Avatar billede fbb Nybegynder
10. juli 2004 - 21:17 #9
Tak ;)
Avatar billede fbb Nybegynder
10. juli 2004 - 21:17 #10
et svar ;D
Avatar billede jaw Nybegynder
10. juli 2004 - 21:53 #11
Virkede det??? Perfekt, havde da ellers regnet med der skulle rettes lidt :)

Tak for point :)
Avatar billede fbb Nybegynder
10. juli 2004 - 21:56 #12
Har ikke tjekket med den der jpg, men går nok ;).. hehe
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