Hallo,
Voraussetzung:
alle Bilder im Verzeichnis habe die passende Endung .jpg
alle Bilder im Verzeichnis sind nach Datum in Ansi-Notation benannt, also z.B. JJMMTTxx.jpg
JJ = Jahr
MM = Monat
TT = Tag
xx = laufende Nummer am Tag
Dann liest Du das Verzeichnis einfach aus:
//----------------------------------------------------
function get_dirlist("DirPathAndName")
{
$dh=opendir("DirPathAndName");
if ($dh)
{
$dirlist=array();
while ($filename=readdir($dh))
{
if (is_file($filename) and substr(filename,-4)==".jpg") // upper?
{
array_push($dirlist,$filename);
}
}
asort($dirlist); // oder arsort() für rückwärts
}
else
{
// ggf. globale Fehlermeldung setzen
return false;
}
closedir($dh);
return $dirlist;
}
Na, und dann kannst Du daraus die Links auf die Bilder generieren oder vorher noch Thumbnails bauen:
function makethumb($picname,$thumbname,$thumbwidth)
{
### hier müssen noch die anderen unterstützten Formate
### eingebaut werden.
$imgdata=getimagesize($picname); //fragen, ob es jpg ist
if ($imgdata[2]==2)
{
$src_img=ImageCreatefromjpeg($picname);//Quellbild i Speicher auspacken
$qx=imagesx($src_img); //Maße des Quellbides bestimmen
$qy=imagesy($src_img);
$tx=$thumbwidth; //Breite des Zielbildes festlegen
$ty=($thumbwidth/$qx)*$qy; //Höhe des Zielbildes berechnen
#$dst_img=imagecreate($tx,$ty); //Zielbild im Speicher vorbereiten
$dst_img=imagecreateTrueColor($tx,$ty); //neue Funktion benutzen ab 4.2.x
//Zielbild erzeugen
imagecopyresized($dst_img,$src_img,0,0,0,0,$tx,$ty,$qx,$qy);
imagejpeg($dst_img,$thumbname); //Zielbild speichern
imagedestroy($src_img); //Arbeitsspeicher für Arbeits-
imagedestroy($dst_img); //kopien der Bilder freigeben.
}
else
{
$errormsg = "kein JPEG-Format: $imgdata[2]<br>";
}
return $errormsg;
}
makethumb("grossesBild.jpg","thumbnail.jpg",100);
Mit den beiden Funktionen solltest Du nun zum Ziel kommen. Du benötigst dafür eine PHP-Version > 4.2.x wegen imgcreateTruColor() .
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.