ich wollte die Funkiton cApiImgScale nutzen, um größere Bildermengen zu bearbeiten. Hab mir gedacht ich nehme mir einen Ordner aus der Dateiverwaltung, in dem User dann später die ("rohen") Bilder hochladen kann. Aus dieser wollte ich mit folgendem Code die Bilder generieren lassen. Diese werden dann beim Aufruf via Fancybox angezeigt.
Das klappt auch soweit, nur bekomme ich da bei größeren Datenmengen ein Performanceproblem. Im Beispiel wären das 77 Bilder, die in Kleinformat und Großformat berechnet werden. Das dauert derzeit 15 Sekunden, wenn die Bilder noch gecached werden müssen gar 30 Sekunden (lokal). Kann man das noch optimieren?
Code: Alles auswählen
<?php
$linktitle = "Wintergärten";
$iWidthThumb = 120;
$iHeightThumb = 120;
$iWidthBig = 640;
$iHeightBig = 480;
$folder = "upload/images/content/referenzen/wintergaerten/";
$files1 = scandir($folder);
$iAnzahlPics = count($files1)-2;
$iCols = 4;
$iRows = floor($iAnzahlPics / $iCols);
if (($iAnzahlPics % $iCols) > 0) {
$iRows ++;
}
?>
<div id="examples">
<table class="galerie" align="center" border="0" cellpadding="2" cellspacing="2">
<tbody>
<?php
$iCounter = 3;
for ($i=0; $i<$iRows; $i++) {
//Tabellenzeilen erstellen
echo '<tr>';
for ($a=0; $a<$iCols; $a++)
{
//Dateipfad zusammenbauen
$sImageSource = $folder . $files1[$iCounter];
if (empty($files1[$iCounter])) {
echo '<td></td>';
} else {
?>
<td><a class="grouped_elements" rel="group" title="<?php echo $linktitle;?>" href="<?php echo cApiImgScale($sImageSource, $iWidthBig, $iHeightBig);?>"><img title="<?php echo $linktitle;?>" alt="<?php echo $linktitle;?>" src="<?php echo cApiImgScale($sImageSource, $iWidthThumb, $iHeightThumb);?>" /></a></td>
<?php
}
$iCounter ++;
}
echo '</tr>';
}
?>
</tbody>
</table>
</div>
Frank