Ik gebruik onderstaand thumbscript op dit moment voor het maken van thumbnails en andere -op maat gemaakte- afbeeldingen op een site. Het script werkt goed. Misschien niet de snelste, netste en/of slimste manier, maar het werkt. Op 1 klein dingetje na.
Aangezien het een site betreft die voor 70% bestaat uit het weergeven van thumbnails die bij artikelen horen, worden er gemiddeld per pagina-aanroep 6 thumbnails gegenereerd uit grote JPG bestanden van soms wel over de 1mb. Toen ik vandaag in mijn website statistieken keek, zag ik dat met 11 unieke bezoekers vandaag (site staat nog niet in zoekmachines ed.) voor 2,79 gig aan dataverkeer had gezorgd. Met vandaag 6965 scriptaanroepen kom ik op een halve MB per aanroep, terwijl de uitgepoepte JPG's toch maar iets van 8kb MAX zijn.
Heeft iemand een idee waardoor deze enorme overhead veroorzaakt wordt?
Misschien ter overvloede: de source JPGs staan op dezelfde server, maar worden wel met een volledig pad aangesproken, dus
edit: syntaxfoutje
Aangezien het een site betreft die voor 70% bestaat uit het weergeven van thumbnails die bij artikelen horen, worden er gemiddeld per pagina-aanroep 6 thumbnails gegenereerd uit grote JPG bestanden van soms wel over de 1mb. Toen ik vandaag in mijn website statistieken keek, zag ik dat met 11 unieke bezoekers vandaag (site staat nog niet in zoekmachines ed.) voor 2,79 gig aan dataverkeer had gezorgd. Met vandaag 6965 scriptaanroepen kom ik op een halve MB per aanroep, terwijl de uitgepoepte JPG's toch maar iets van 8kb MAX zijn.
Heeft iemand een idee waardoor deze enorme overhead veroorzaakt wordt?
Misschien ter overvloede: de source JPGs staan op dezelfde server, maar worden wel met een volledig pad aangesproken, dus
PHP:
1
| $file = "www.server.com/data/artImages/001.jpg"; //bijvoorbeeld |
edit: syntaxfoutje
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| $get = $HTTP_GET_VARS; $file = $get['file']; $width = $get['width']; $maxWidth = $get['maxWidth']; $height = $get['height']; $maxHeight = $get['maxHeight']; $quality = $get['quality']; $fileName = basename($file); header("Content-type: image/jpeg"); list($width_orig, $height_orig) = getimagesize($file); if (!$width && !$height) { $width = $width_orig; $height = $height_orig; } else { if ($width && !$height) { $height = ($width / $width_orig) * $height_orig; if ($maxHeight > $height) { $height = $maxHeight; $width = ($height / $height_orig) * $width_orig; } } elseif ($height && !$width) { $width = ($height / $height_orig) * $width_orig; if ($maxWidth > $width) { $width = $maxWidth; $height = ($width / $width_orig) * $height_orig; } } } $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($file); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); imagejpeg($image_p, '', $quality); |
[ Voor 5% gewijzigd door Scyth op 06-03-2006 23:33 ]
Dell Studio XPS 16
Project: BavBierSub 1.0 BavBierSub 2.0