note 90651 added to function.imagecopyresized

From: Date: Sat, 02 May 2009 14:17:36 +0000
Subject: note 90651 added to function.imagecopyresized
Groups: php.notes 
Request: Send a blank email to php-notes+get-154132@lists.php.net to get a copy of this message
this is a script which loops trough a directory that is currently set to "files" and resizes all images with respecting the image ratio <?php //use this line if you get the error message of using too much memory (strip '//') //ini_set ( "memory_limit", "48M"); $target_width = 800; $target_height = 600; if (ob_get_level() == 0) ob_start(); if ($handle = opendir('files/')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $destination_path = './files/'; $target_path = $destination_path . basename($file); $extension = pathinfo($target_path); $allowed_ext = "jpg, gif, png, bmp, jpeg, JPG"; $extension = $extension[extension]; $allowed_paths = explode(", ", $allowed_ext); for($i = 0; $i < count($allowed_paths); $i++) { if ($allowed_paths[$i] == "$extension") { $ok = "1"; } } if ($ok == "1") { if($extension == "jpg" || $extension == "jpeg" || $extension == "JPG"){ $tmp_image=imagecreatefromjpeg($target_path); } if($extension == "png"){ $tmp_image=imagecreatefrompng($target_path); } if($extension == "gif"){ $tmp_image=imagecreatefromgif($target_path); } $width = imagesx($tmp_image); $height = imagesy($tmp_image); //calculate the image ratio $imgratio=$width/$height; if ($imgratio>1){ $new_width = $target_width; $new_height = $target_width/$imgratio; }else{ $new_height = $target_height; $new_width = $target_height*$imgratio; } $new_image = imagecreatetruecolor($new_width,$new_height); ImageCopyResized($new_image, $tmp_image,0,0,0,0, $new_width, $new_height, $width, $height); //Grab new image imagejpeg($new_image, $target_path); $image_buffer = ob_get_contents(); ImageDestroy($new_image); ImageDestroy($tmp_image); echo " $file resized to $new_width x $new_height <br> \n"; echo str_pad('',4096)."\n"; ob_flush(); flush(); } } } closedir($handle); echo "Done."; ob_end_flush(); } ?> ---- Server IP: 91.199.167.18 Probable Submitter: 84.25.131.128 ---- Manual Page -- http://www.php.net/manual/en/function.imagecopyresized.php Edit -- https://master.php.net/note/edit/90651 Del: integrated -- https://master.php.net/note/delete/90651/integrated Del: useless -- https://master.php.net/note/delete/90651/useless Del: bad code -- https://master.php.net/note/delete/90651/bad+code Del: spam -- https://master.php.net/note/delete/90651/spam Del: non-english -- https://master.php.net/note/delete/90651/non-english Del: in docs -- https://master.php.net/note/delete/90651/in+docs Del: other reasons-- https://master.php.net/note/delete/90651 Reject -- https://master.php.net/note/reject/90651 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#154132) next »