01. september 2005 - 21:12 Der er 11 kommentarer og
1 løsning

Vis billeder i fra flere mapper

Jeg har en masse små thumbs billeder som jeg gerne vil have vist i en oversigt så jeg kan skrive den ud.

Sådan ville jeg gerne have det til at se ud:

Mappenavn:
Billeder1.jpg - Billede2.jpg

Andet Mappenavn:
etellerandetbillede.jpg etfjerdebillede.jpg

osv.

Jeg har prøvet med dette kode, men $path virker ikke. Desuden ved jeg ikke om det er den rigtige kode. Er nybegynder.

På forhånd mange tak for hjælpen!

<?php
$path = $_SERVER[DOCUMENT_ROOT]."/Visbilleder/";

echo $path;
  $dh = @opendir($path);

  while (false !== ($file=@readdir($dh)))
  {
    if (substr($file,0,1)!=".")
    {
        if (is_dir($file))
          $dirs[]=$file.'/'; 
        else
          $files[]=$file; 
    }
  }
  @closedir($dh);

  if ($files)
    natcasesort($files);
  if ($dirs)
    natcasesort($dirs);

  $files=array_merge($dirs,$files);

  foreach ($files as $file)
if ($handle = opendir($file)) {
  echo "Directory handle: $handle\n";
  echo "Files:\n";

  /* This is the correct way to loop over the directory. */
  while (false !== ($file = readdir($handle))) {
    $fileext = substr(strrchr($file, "."), 1);
      echo "<a href='$handle/$file'>" . substr($file, 0, strlen($file)-strlen($fileext)-1) . "</a><br>";

  }
  closedir($handle);
}


    echo "<a href=$file>$file</a><br />";

?>
Avatar billede jakobdo Ekspert
01. september 2005 - 21:15 #1
Test denne: <?php
$dir = getcwd();

$allowExt = array("jpg" , "jpeg" , "avi");

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        $fileArray = array();
        while(($file = readdir($dh)) !== false)
        {
            $arr = explode (".", $file);
            $extension = end($arr);
            if(in_array($extension,$allowExt))
                $fileArray[] = $file;
        }
        closedir($dh);
    }
}

if(count($fileArray) > 0)
{
    sort($fileArray);
    foreach($fileArray as $file)
    {
        echo "<a href=\"" . $file . "\">" . $file . "</a><br>\r\n";
    }
}
?>
Avatar billede jakobdo Ekspert
01. september 2005 - 21:19 #2
Det var helt forkert det jeg gav dig der:

Prøv denne:

<?php

$path = $_SERVER[DOCUMENT_ROOT];
$dirArr = array("VisBilleder","Mappe2");

$allowExt = array("jpg" , "jpeg" , "avi");

foreach($dirArr as $dir)
{
    // Open a known directory, and proceed to read its contents
    $dir = $path . $dir;
    if (is_dir($dir))
    {
    if ($dh = opendir($dir))
    {
            $fileArray = array();
            while(($file = readdir($dh)) !== false)
            {
                $arr = explode (".", $file);
                $extension = end($arr);
                if(in_array($extension,$allowExt))
                    $fileArray[] = $file;
            }
            closedir($dh);
        }
    }
}

if(count($fileArray) > 0)
{
    sort($fileArray);
    foreach($fileArray as $file)
    {
        echo "<a href=\"" . $file . "\">" . $file . "</a><br>\r\n";
    }
}
?>
12. september 2005 - 18:09 #3
Den virker nu ikke rigtig...
Avatar billede jakobdo Ekspert
12. september 2005 - 18:13 #4
Jeg må lige lege med den senere! (skal lige løbe en tur i det grønne) :o)
Avatar billede jakobdo Ekspert
12. september 2005 - 18:44 #5
Avatar billede jakobdo Ekspert
12. september 2005 - 18:44 #6
PS: Billederne virker ikke, det er bare tomme filer.
17. september 2005 - 17:56 #7
Okay, tak for hjælpen!
17. september 2005 - 17:56 #8
(Læg et svar!) ;)
Avatar billede jakobdo Ekspert
17. september 2005 - 23:15 #9
Svar!
18. september 2005 - 01:49 #10
Tjo...
Avatar billede jakobdo Ekspert
18. september 2005 - 11:25 #11
Svar igen! :o)
Avatar billede jakobdo Ekspert
22. september 2005 - 22:03 #12
Takker for point! :o)
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