Avatar billede minus Nybegynder
21. maj 2008 - 12:56 Der er 12 kommentarer og
1 løsning

Vise filer fra en mappe som thumbnails

Hej,

Jeg søger et simpelt galleri af en art, hvor den tager filer fra en mappe og laver dem op til thumbnails (4 billeder pr. række).

Her efter skal det være muligt at klikke billederne, hvorefter de vises i deres originale størrelser. (ikke popup, bare standard a link)

Billederne skal hives ud af en mappe som hedder "galleri".

Er det muligt at lave sådan en kode?

Takker på forhånd :)
Avatar billede minus Nybegynder
21. maj 2008 - 12:58 #1
Hov ja, billeder må gerne soteres efter dato, hvor det nyeste billede vises først.
Avatar billede w13 Novice
21. maj 2008 - 12:59 #2
Hvis ikke billederne allerede ligger som thumbnails, vil det tage næsten ligeså lang tid for koden at lave dem om, som hvis du bare viste dem som store. Du vinder derved ikke noget ved det. Derfor bør du nok lave dem som thumbnails, når du uploader dem.
Avatar billede minus Nybegynder
22. maj 2008 - 10:26 #3
w13 --> Ja, det er rigtig nok. Men søger det bare til en simpelt galleri, hvor der skal ligge omkring 10 billeder.

Ellers kunne koden vel også laves til at kun hive billeder med "thumb_" frem, hvorefter den linker til et billede af samme navn som hedder det efter thumb.

Altså "thumb_mini.jpg" linker til "mini.jpg" ude på listen.
Avatar billede w13 Novice
22. maj 2008 - 10:47 #4
Kan denne kode ikke bruges, og så bare skrives lidt om?

http://fundisom.com/phparadise/php/image_handling/list_image_folder
Avatar billede minus Nybegynder
22. maj 2008 - 11:50 #5
w13--> Ser meget godt ud :)

Er ikke inde i programmering så meget, men har fået den til at hive billederne ud af mine mappe. Men ved ikke helt, hvordan jeg får den til at opstille billederne med 4 på hver række.

koden som den ser ud nu:
------------------

<?php
$imgdir = 'galleri/'; // the directory, where your images are stored
$allowed_types = array('png','jpg','jpeg','gif'); // list of filetypes you want to show
$dimg = opendir($imgdir);
while($imgfile = readdir($dimg))
{
if(in_array(strtolower(substr($imgfile,-3)),$allowed_types))
{
$a_img[] = $imgfile;
sort($a_img);
reset ($a_img);
}
}
$totimg = count($a_img); // total image number
for($x=0; $x < $totimg; $x++)
{
$size = getimagesize($imgdir.'/'.$a_img[$x]);
// do whatever
$halfwidth = ceil($size[0]/2);
$halfheight = ceil($size[1]/2);
echo '<img src="galleri/'.$a_img[$x].'"><br />';
}
?>


-------------------

Ved ikke om du kunne forklare hvordan man gør eller lave det for mig med kommentar i koden, så jeg får en forståelse for det :)
Avatar billede w13 Novice
22. maj 2008 - 11:56 #6
4 på række:

<?php
$imgdir = 'galleri/';
$allowed_types = array('png','jpg','jpeg','gif');
$dimg = opendir($imgdir);
while($imgfile = readdir($dimg)){
    if(in_array(strtolower(substr($imgfile,-3)),$allowed_types)){
        $a_img[] = $imgfile;
        sort($a_img);
        reset($a_img);
    }
}
$totimg = count($a_img);
for($x=0; $x < $totimg; $x++){
    $size = getimagesize($imgdir.'/'.$a_img[$x]);
    $halfwidth = ceil($size[0]/2);
    $halfheight = ceil($size[1]/2);
    if($x % 4)echo '<br>';
    echo '<img src="galleri/'.$a_img[$x].'">';
}
?>

Jeg har dog ikke testet den, men den burde virke.

Jeg har klaret det med linjen:
if(($x % 4)==1)echo '<br>';

Procenttegnet kaldes modulus og returnerer, hvor mange der var i rest, når man dividerer $x med 4.
Hvis der er 1 i rest betyder det, at 4 går op i $x - derved skal der indsættes et linjeskift. =)
Avatar billede minus Nybegynder
22. maj 2008 - 12:02 #7
Den spytter nogenlunde det samme ud :) hvor den laver <br> efter hvert billede. Men der er dog et enkelt tilfælde hvor den sætter to billeder efter hinanden.

Ellers lyder det ret logisk det du skriver, så er lidt uforstående over hvorfor den ikke virker. :(
Avatar billede w13 Novice
22. maj 2008 - 12:16 #8
Hov, så skal linjen jo også være:
if(($x % 4)==0)echo '<br>';

Hvilket også kan skrives:

if(!($x % 4))echo '<br>';
Avatar billede w13 Novice
22. maj 2008 - 12:16 #9
Der skal jo ikke være nogen i rest, når $x erligmed 4, og man dividerer det med 4.
Avatar billede minus Nybegynder
22. maj 2008 - 12:17 #10
Ja, det så jeg også lige :) Men det virker perfekt.

Takker mange gange for hjælpen :P
Avatar billede w13 Novice
22. maj 2008 - 12:23 #11
Og jeg takker for point! :)
Avatar billede w13 Novice
22. maj 2008 - 12:31 #12
Men i den kode findes jo så ikke kun thumbs og der linkes ikke til de store billeder..
Avatar billede minus Nybegynder
22. maj 2008 - 17:39 #13
Nej, jeg har skrevet lidt om på den så den gør, som ønsket :)
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