In het hier onderstaande script wordt op basis van de extentie bepaald of er een thumbnail van een bepaald type moet worden gemaakt.
Echter met de regels
gaat het hele script over de zeik en werkt het niet.
Met alleen de Jpeg variant werkt hij wel goed.
Naast dat het probleem in de kan code zitten vertrouw ik ook niet erg PHP 4.2.1 en de GD library (1.8.x).
Dus zit het probleem in de code of in de libraries?
PS. Als je nog andere fouten ziet of dingen die verbeterd kunnen worden laat me weten. Ben nog nie zo lang serieus met php bezig.
Echter met de regels
PHP:
1
| <? else if(preg_match("/.png/i", $image_name)) { makePngThumb($image_name,$thumb_width,$thumb_path); }?> |
gaat het hele script over de zeik en werkt het niet.
Met alleen de Jpeg variant werkt hij wel goed.
Naast dat het probleem in de kan code zitten vertrouw ik ook niet erg PHP 4.2.1 en de GD library (1.8.x).
Dus zit het probleem in de code of in de libraries?
PS. Als je nog andere fouten ziet of dingen die verbeterd kunnen worden laat me weten. Ben nog nie zo lang serieus met php bezig.
PHP:
1
| <?//thumnailing images$default_dir = "/www/htdocs/test/"; //directory waar de orginele afbeeldingen in staan van het formaat png,jpg of gif$thumb_path = "/www/htdocs/test/thumbs/"; //directory van de thumbs$thumb_width = "100"; //wijdte van de thumbnails in pixels//eigenlijke thumbnail functiefunction makeJpgThumb($image_name,$thumb_width,$thumb_path){$src_img = imagecreatefromjpeg($image_name);$orig_w=imagesx($src_img);$orig_h=imagesy($src_img);$new_w = $thumb_width;$diff=$orig_w/$new_w;$new_h=$orig_h/$diff;$dst_img = imagecreate($new_w,$new_h);imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));imagejpeg($dst_img, "$thumb_path/thumbnail_$image_name");}function makePngThumb($image_name,$thumb_width,$thumb_path){$src_img = imagecreatefrompng($image_name);$orig_w=imagesx($src_img);$orig_h=imagesy($src_img);$new_w = $thumb_width;$diff=$orig_w/$new_w;$new_h=$orig_h/$diff;$dst_img = imagecreate($new_w,$new_h);imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));imagepng($dst_img, "$thumb_path/thumbnail_$image_name");}//retrieven van de bestandsnamenfunction makeThumbs($default_dir,$thumb_width,$thumb_path){//ophalen van de bestandsnamenchdir($default_dir);if(!($dp = opendir($default_dir))) die("Cannot open $default_dir.");while($image_name = readdir($dp)) { //bepalen of het bestandstype juist is // NOTE: GIF is niet meer supported in GD graphics library 1.6 en hoger if(preg_match("/.png|.jpe?g/i", $image_name)) { //indien het bestandstype juist is wordt aan de hand van de extentie een thumbnail gemaakt if(preg_match("/.jpe?g/i", $image_name)) { makeJpgThumb($image_name,$thumb_width,$thumb_path); } else if(preg_match("/.png/i", $image_name)) { makePngThumb($image_name,$thumb_width,$thumb_path); } } } closedir($dp);}//aanroepen van de functie bij het openen van de paginamakeThumbs($default_dir,$thumb_width,$thumb_path);echo("done");?> |