Avatar billede svend-herlig Nybegynder
26. december 2007 - 04:07 Der er 3 kommentarer og
1 løsning

Dynamisk php script til "udskrivning" af alle billeder fra en map

Jeg mangler et simpelt, men dynamisk phpscript der kan "udskrive" alle billeder fra en bestemt mappe til en side på min hjemmeside.

Det skal skrives i php og er til et person galleri der ser sådan ud:

jeg arbejder med php include, så på roden ligger index.php
"/persongalleri" indeholder:
-en: "jens.php" (stedet scriptet skal ligge/udskrives i)
-tre familie mapper, "familie1", "familie2", "familie3"

"/persongalleri/familie1" indeholder mapper med familiemedlemmernes navne fx:
-"jens" som indeholder et tilfældigt antal billeder (typisk 1-10 billeder) ligger med vilkårlige navne

(kan godt kalde dem 001,002,osv hvis det gør det nemmere)



jeg vil derfor gerne have et standart script jeg kan bruge til alle 80 personer, så jeg blot skal lave en mappe med deres navn og ligge billeder i. og så kommer billederne under hinanden ala:

<img src"001.jpg" /><br /><br />
<img src"002.jpg" /><br /><br />
<img src"003.jpg" />

og ligger jeg flere billeder ind skal det selvfølgelig rettes til automatisk/dynamisk...


jeg er rart meget på bar bund med at bygge det op, mit niveau:
skriver flydende html.4 fra "gamle dage", og har lidt forståelse for php og css (en 20-30 timer)


Kan du hjælpe mig?

/Dennis
Avatar billede amite Mester
26. december 2007 - 12:01 #1
// Hovedfolder hvor alle billeder ligger under
      $userdirlocation = ('/billedefolder/');
 
      // Function som læser alle filer mv. ind i et array.
      function listfiles($primarydirpath)
        {
          if(is_dir($primarydirpath))
            {
              $dirconnect = opendir($primarydirpath);
              $arraybank1 = array();
              $arraybank2 = array();
             
              while($file = readdir($dirconnect))
                {
                  if($file != "." && $file != ".." && $file[0] != '.')
                    {
                      if(is_dir($primarydirpath . "/" . $file))
                        {
                          $arraybank2 = listfiles($primarydirpath . "/" . $file);
                          if(is_array($arraybank2))
                            {
                              $arraybank1 = array_merge($arraybank1, $arraybank2);
                            }
                        }
                      else
                        {
                          array_push($arraybank1, $primarydirpath . "/" . $file);
                        }
                    }
              }
          closedir($dirconnect);
          }
        return $arraybank1;
      }
 
    // Array som kalder functionen og får resultatet retur
    $arraycatcher = listfiles($_SERVER["DOCUMENT_ROOT"] . $userdirlocation);
 
    // Loop som løber arrayet igennem og spytter billeder ud.
    foreach ($arraycatcher as $outputimage)
      {
        $imgwebpath = str_replace($_SERVER["DOCUMENT_ROOT"], "", $outputimage);
        $imgwebpath = str_replace(basename($outputimage), "", $imgwebpath);
 
          echo('<img src="' . $imgwebpath . basename($outputimage) . '" title="" alt=""/>' . "\r\n");
          echo('<br/>' . "\r\n");
      }
Avatar billede svend-herlig Nybegynder
26. december 2007 - 14:14 #2
Du er en af de mennesker der gør man har lyst til at stå op om morgen! tusind tak :)
fik bygget det ind i en udskriv.inc fil så jeg bare lige skal sætte bib navn ind.
jeg ved ikke om jeg glemte at spørg, men kan jeg styre bredten på billlederne så de fx bliver udskrevet max 400 px brede, altså bliver resizeset hvis de er for stor?
endnu en gang TUSIND TAK
/Dennis
Avatar billede amite Mester
26. december 2007 - 20:21 #3
Resizing er normalt noget man bør gøre i forbindelse med at billederne bliver lagt op og ikke ved visning.

Det er dog ikke noget bare lige gør dynamisk da det kræver eks. GDlib. Men hvis du har mod på det så se f.eks.:

http://www.eksperten.dk/spm/668193
Avatar billede svend-herlig Nybegynder
26. december 2007 - 23:30 #4
ser lige på det når jeg kommer hjem, er på vej på ferie men du får pointene nu, det virkede nemlig!
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