Vis automatisk alle billederne i en mappe

Tags:    php

Hej jeg ville gerne vide hvordan man fåer php til at vise alle billederne i en mappe, altså som et slags galleri. hvor der er en forside hvor man ser alle billederne i fx 100 * 100 og når man så trykker på et af dem så åbner det enkelte billede i fuld størrelse.


plz help

mvh DuftHat





Nobodies.dk Rules the world!!! altså når den bliver færdig. :)



4 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Her er et, der kan netop det.... Tilpas det selv (det er jo trodsalt kun 20 UP)

<pre><?
/*************************************************************\\
* Image resizer, version 1.3 alpha *
* Returns true on success, false if there are errors *
* If destination file is specified, resized picture will be *
* saved with the specified name. Else, it is shown to browser *
}*************************************************************{
* Created by XyborX (www.xyborx.dk) *
* Feel free to use, modify and distribute, without profit. *
* I cannot be held liable for any damage this script might do *
\\*************************************************************/
function imageresizejpeg($sourcefile,$maxwidth,$maxheight,$destinationfile=false)
{
if($img_src=@imagecreatefromjpeg($sourcefile))
{
$info=@getimagesize($sourcefile);
if($info[1]>$maxheight || $info[0]>$maxwidth)
{
$ratio_height=$maxheight/$info[1];
$ratio_width=$maxwidth/$info[0];
$ratio=min($ratio_width,$ratio_height);
$newwidth=intval($info[0]*$ratio);
$newheight=intval($info[1]*$ratio);
$img_dst=@imagecreatetruecolor($newwidth,$newheight);
@imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, $newwidth, $newheight, $info[0], $info[1]);
if($destinationfile==false)
{
header("Content-type: image/jpeg");
@imagejpeg($img_dst);
}
else
@imagejpeg($img_dst,$destinationfile);
@imagedestroy($img_dst);
}
else
{
if($destinationfile==false)
{
header("Content-type: image/jpeg");
@imagejpeg($img_src);
}
else
@imagejpeg($img_src,$destinationfile);
}
@imagedestroy($img_src);
return true;
}
else
{
return false;
}
}


echo "<table border=\\"0\\" cellspacing=\\"10\\" cellpadding=\\"10\\">";

$i_tmp = 1;

if ($dir = opendir("./large"))
{
while($file = readdir($dir))
{
if(ereg(".jpg", strtolower($file)))
{
if(!is_file("./small/" . $file))
{
imageresizejpeg("./large/" . $file, 100, 100, "./small/" . $file);
}

if ($i_tmp == 1)
echo " <tr>\\n";

echo " <td width=10 align=\\"left\\" valign=\\"top\\">\\n";
echo " <a href=\\"./large/" . $file . "\\" target=\\"_blank\\"><img src=\\"./small/" . $file . "\\" border=\\"0\\"></a> ";
echo " </td>\\n";

if($i_tmp == 4)
echo " </tr>\\n";

$i_tmp++;

if ($i_tmp > 4)
$i_tmp = 1;

}

}
closedir($dir);
}

echo "</table>";


?></pre>

/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/



Fold kodeboks ind/udKode 


----------------------
DoomStone
DoomStone@DoomStone.dk



Jeg har lavet dette...








<!-- Dette script er udarbejdet af Morten Westh -->
<!--Må frit benyttes så længe disse linier lades være -->
<!-- www.westhi.dk | morten@westhi.dk -->
<!--Kontakt mig hvis du har problemer med scriptet :0) -->
<html>
<head>
<title>Galleri</title>
<style type="text/css">
body{font-family:tahoma;font-size:11px; background-color:#c1c1c1;}
</style>

</head>

<body>
<?php
$bredde = "90px"; //Bredden på billederne
$hoejde = "90px"; //Højden på billederne

$mappenavn ="."; //Mappens navn.. lav et punktum hvis det skal være den mappe filen ligger i!

if ($mappe = opendir($mappenavn)) {
while (false !== ($fil = readdir($mappe))) {
$filtype = strtolower(substr($fil,strrpos($fil,"."))); //Tjekker filtypen

if ($filtype==".png" OR $filtype==".jpg" OR $filtype==".gif") { //Her er det nemt nok at tilføje nogle flere billedtyper selv.. :0)

print"<img src=\\"$mappenavn/$fil\\" style=\\"width:$bredde; height:$hoejde; border:1 solid black;\\" onclick=\\"location.href='$mappenavn/$fil'\\">\\n  \\n";

$i++;
if ( $i/8 == round($i/8 )) {
print"<br>";
}
}else{
}
}
}
?>
</body>
</html>



...ikke for 20 UP



t