Avatar billede el_morten Nybegynder
12. marts 2006 - 15:30 Der er 11 kommentarer og
1 løsning

Finde filer i mappe og sætte url på

Hej!
Jeg har en mappe med billeder i. Hvordan kan man finde alle billeder (altså et script der viser "11 filer i  mappen") og samtidig laver et lille ikon der har stien / url'en fra de forskellige billeder, som links på sig?
Er det svært at lave?
Avatar billede el_morten Nybegynder
12. marts 2006 - 16:49 #1
Slet ikke nogen der kan hjælpe?
Avatar billede jakobdo Ekspert
12. marts 2006 - 16:53 #2
Du kan enten løbe mappen igennem med glob()
eller:

$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
      while (($file = readdir($dh)) !== false) {
          echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
      }
      closedir($dh);
  }
}
Avatar billede el_morten Nybegynder
12. marts 2006 - 17:02 #3
Ja.
Jeg har også fundet de her to scripts og de virker, men det skal være en slags sammenkobling af de to.
Det skal være et script hvor jeg kan have et lille ikon (det samme for alle billeder) og der skal være lige så mange ikoner som der er billeder i mappen (en for hvert billede) og hvert enkelt ikon skal linke til hver sit billde

De to scripts (jeg kan bare ikke finde ud af at koble dem sammen.. :-/ ):

//---------- LAVER LINKS -----------

    $filer = glob( 'projects/*' );
    foreach ( $filer as $fil )
    {
        echo '<a href="' . $fil . '">' . basename( $fil ) . '</a><br>';
    }

//---------- TÆLLER ANTAL FILER I MAPPE -----------

$dir = "projects/";

$arr = array();
if ($handle = opendir($dir))
{
    while (false !== ($file = readdir($handle)))
    {
        if ($file != "." && $file != ".." && !is_dir($file)) {
            $arr[] = $file;
        }
    }
    closedir($handle);
}

echo count($arr);
Avatar billede jakobdo Ekspert
12. marts 2006 - 17:06 #4
det er vel bare at rette:
echo '<a href="' . $fil . '">' . basename( $fil ) . '</a><br>';
til:
echo '<a href="' . $fil . '"><img src="ikon.jpg"></a><br>';
Avatar billede el_morten Nybegynder
12. marts 2006 - 17:11 #5
Ja, det var det selvfølgelig :) men ville gerne have en funktion der samtidig kommer med et tal. F.eks. 11 hvis der er 11 filer i mappen, samtidig med at der bliver vist 11 ikoner :)
Avatar billede jakobdo Ekspert
12. marts 2006 - 17:14 #6
Skal det være alle slags filer, eller nogle bestemte?
Avatar billede el_morten Nybegynder
12. marts 2006 - 17:16 #7
jpg, png og gif
Avatar billede jakobdo Ekspert
12. marts 2006 - 17:24 #8
$images = glob("projects/{*.jpg,*.JPG,*.jpeg,*.JPEG,*.jpe,*.JPE,*.png,*.PNG,*.gif,*.GIF}", GLOB_BRACE);
echo "Antal billeder: " . count($images) . "<br>";
foreach ($filer as $fil)
{
    echo '<a href="' . $fil . '"><img src="ikon.jpg" alt="ikon"/></a><br>';
}
Avatar billede el_morten Nybegynder
12. marts 2006 - 17:26 #9
YES! Fedt tak.
foreach ($images as $fil) skulle lige rettes!
Du er den bedste jakobdo, smid et svar :P
Avatar billede jakobdo Ekspert
12. marts 2006 - 17:29 #10
Svar! Og tak! :o)
Avatar billede jakobdo Ekspert
12. marts 2006 - 17:31 #11
Takker for point! Og ja, $files skal lige rettes til: $images :o)
Avatar billede el_morten Nybegynder
12. marts 2006 - 17:32 #12
Det er mig der takker :)
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