ahykes
Erfahrenes Mitglied
Hallo Jungs!
Habe das folgende Gallery-Script geschrieben. Nun gut. Es läuftganz wunderbar - nur die Geschwindigkeit läßt bei mehr als 10 Bilder echt zu wüsnchen über. Hättet Ihr einen Tip wie man das schneller machen könnte ?
Habe das folgende Gallery-Script geschrieben. Nun gut. Es läuftganz wunderbar - nur die Geschwindigkeit läßt bei mehr als 10 Bilder echt zu wüsnchen über. Hättet Ihr einen Tip wie man das schneller machen könnte ?
PHP:
<?
#Verzeichnis in dem die Bilder liegen
$searchfile= '../images/pics/big/';
#Versuchen das Verzeichnis zu öffnen
$dir_handle = @opendir($searchfile) or die("! Dein Server is busy! Kann das Verzeichnis nicht öffnen!");
#Meine ganz privaten Zählvariablen
$q = 0;
$rowcount = 0;
#Tabelle starten
echo '<table border="0" align="center" cellpadding="0" cellspacing="5" style="border-style: dashed; border-width: 1px; border-color: #333333;">';
echo '<tr>';
#Verzeichnis auslesen und Dateinamen in ein Array schreiben
while ($file = readdir($dir_handle))
{
$q++;
$dir[$q] = $file;
}
closedir($dir_handle);
for($i=0; $i<=count($dir); $i++)
{
if($dir[$i] != '' && $dir[$i] != '.' && $dir[$i] != '..')
{
#jpeg noch ein bisschen verkleinern (Speicher)
$tmp = '../images/pics/big/'.$dir[$i];
$im = imagecreatefromjpeg($tmp);
#erst grau machen
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
imagejpeg($im, '../images/tmp/'.$dir[$i]);
}
#dann sepia machen (90, 80, 40)
if ($im && imagefilter($im, IMG_FILTER_COLORIZE, 90, 80, 40)) {
imagejpeg($im, '../images/tmp/'.$dir[$i]);
}
imagedestroy($im);
#dann ausgeben
$file = '../images/tmp/'.$dir[$i];
#Mach halt ne Grafik
$src = imagecreatefromjpeg($file);
#Mach halt Truecolor
$im = imagecreatetruecolor(100, 100);
#Mach halt n Ausschnitt
imagecopyresized ($im, $src,0,0,50,50, 100,100, 100, 100);
#Mach halt speichern
imagejpeg($im, '../images/tmp/'.$dir[$i]);
#Tabellenzeile ausgeben
echo '<td><a href="img.php?bild='.$dir[$i].'" class="img"><img src="../images/tmp/'.$dir[$i].'" border="0" class="imgnormal"></a></td>';
#Nach vier Grafiken eine neue Zeile anfangen
if($i%4==2){ echo '</tr>'; $rowcount = 0;}
}
}
echo '</table>';
?>