Avatar billede grise_bassen Nybegynder
27. december 2005 - 14:24 Der er 4 kommentarer og
1 løsning

find billeder i mappe og smid url i mysql

jeg har prøvet at lave et script hvor scriptet tjekker en mappe gennem for billeder og smider urlen til billederne ind i en mysql

min musql ser således ud

CREATE TABLE `film` (
  `film_id` int(6) NOT NULL auto_increment,
  `film_navn` varchar(100) default NULL,
  `film_beskrivelse` longtext NOT NULL,
  `billedeurl1` varchar(100) default NULL,
  `billedeurl2` varchar(100) NOT NULL default '',
  `billedeurl3` varchar(100) NOT NULL default '',
  `udlaant` varchar(60) NOT NULL default 'nej',
  PRIMARY KEY  (`film_id`)

jeg ved ikke om i skal bruge det jeg har sat sammen men har er det

$path = "$_SERVER[DOCUMENT_ROOT]/".$sidemappe."covers";
foreach (glob("$path/*",GLOB_ONLYDIR) as $dir)
{

$navn = "".basename($dir)."";

foreach (glob("$side/covers/$navn/*.jpg") as $filename) {




$filename1 = "$filename";
$filename2 = "$filename";
$filename3 = "$filename";


echo"filename1 = $filename1<bR>";
echo"filename2 = $filename2<br>";
echo"filename3 = $filename3<br>";

$film = mysql_query("SELECT * FROM film WHERE film_navn = '$navn'") or die(mysql_error());
if (mysql_num_rows($film) == 0) {

mysql_query("INSERT INTO film (film_navn, film_beskrivelse, billedeurl1, billedeurl2, billedeurl3, udlaant) values ('$navn', '', '$filename1', '$filename2', '$filename3', 'nej')");

}

}
}
Avatar billede nizo Nybegynder
27. december 2005 - 14:28 #1
Jeg ville bruge opendir

<?php
if ($handle = opendir('/dir')) {
  echo "Directory handle: $handle\n";
  echo "Files:\n";

  while (false !== ($file = readdir($handle))) {
      echo "$file\n";
  }
?>
Avatar billede coderdk Praktikant
27. december 2005 - 15:32 #2
Jeg bruge glob hvis det kun var ét dir:

$pics = glob("/stil/til/billeder/{*.jpg,*.png,*.gif}", GLOB_BRACE);

Og så bare bruge foreach på $pics...
Avatar billede hmortensen Nybegynder
27. december 2005 - 16:00 #3
Du kan fjerne din foreach omkring anden glob(), og så bruge den som vist her:

$filename = glob("$side/covers/$navn/*.jpg");

$filename1 = $filename[0];
$filename2 = $filename[1];
$filename3 = $filename[2];

echo"filename1 = $filename1<bR>";
echo"filename2 = $filename2<br>";
echo"filename3 = $filename3<br>";


nizo, hvorfor bruge opendir(), når nu glob() er lavet til lige netop det her?
Avatar billede grise_bassen Nybegynder
27. december 2005 - 20:41 #4
hmortensen
smid et svar det funker
Avatar billede hmortensen Nybegynder
27. december 2005 - 22:20 #5
Kommer her :)
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