tirle: Grafiken manipulieren

Beitrag lesen

Hallo.

Vor langer Zeit habe ich ein Script entworfen, das eine Galerie aufbaut:

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  
<html>  
 <head>  
  <title>Bildergalerie</title>  
<style type="text/css">
~~~~~~css
  
img  
{border:0;}  
  
h2  
{  
color:#CC6633;  
margin-left:30px;  
}  
  
table  
{  
align:center;  
}
~~~~~~html
  
</style>  
  
  
  
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
 </head>  
  
 <body>
~~~~~~php
  
  <?php  
  
echo "<h2>Bildergalerie: $topic</h2>";  
  
echo "<div align=\"center\">";  
   // Prfen, ob Parameter ein Ordner ist  
  
   if(is_dir($dir)){  
  
  // Alle Dateinamen in Array lesen,  
  // erste zwei Elemente ("." und "..") werden gelöschcht  
  
$dh  = opendir($dir);  
while (false !== ($filename = readdir($dh))) {  
   $files[] = $filename;  
}  
  
sort($files);  
  
array_shift($files);  
array_shift($files);  
  
closedir($dh);  
  
// Tabelle anfangen  
echo("<table border=\"1\">\n<tr>\n");  
  
foreach($files as $bild){  
  
 $bild="<a href=\"$dir$bild\"><img src=\"$dir$bild\" width=\"200\"></a>";  
  
  
 echo "<td>$bild</td>\n";  
  
 $j++;  
  
 if($j%3 == 0){  
  echo "</tr>\n<tr>\n";  
 }  
  
}  
  
// Tabelle beenden  
echo "</tr>\n</table>\n";  
echo "</div>";  
}  
  
  
// Wenn Parameter keine Galerie ist, Meldung ausgeben und sterben  
   else{  
    die("Galerie nicht gefunden!");  
   }  
  
  ?>
~~~~~~html
  
 </body>  
</html>

Es gibt viele Nachteile bei diesem Script:

- Es werden alle Grafiken vollständig geladen, was demnach eine enorme Ladezeit beansprucht
 - Es werden alle Grafiken vollständig geladen, der Browser lädt also alle Bilder herunter, was bei großen Galerien und Modem-Usern wiederum zu einer enormen Ladezeit führt
 - Falsche Angabe von $topic führt zu Missverständnissen einiger Browser
 - Was, wenn in dem angegebenen Ordner nicht nur Bilder sind, sondern auch z.B. html oder css-dateien?

Nun habe ich den Auftrag erhalten, ein Script zu entwerfen, welches Thumbnails aus großen Bilder erstellt, diese anzeigt (mit Auswahl des Users, wie viele in einer Tabellen-Zeile sind), verlinkt mit dem großen Bild und mit allem drum und dran.

Ich habe davon gehört, dass PHP Bilder manipulieren kann. Meine Frage wäre: Welche Funktionen brauche ich dafür? Und was ist zu beachten?

Danke euch.
tirle