note 90651 modified in function.imagecopyresized by felipe

From: Date: Sun, 02 Aug 2009 15:38:26 +0000
Subject: note 90651 modified in function.imagecopyresized by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-159007@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); $ok = 0; 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(); } ?> --was-- 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(); } ?> http://php.net/manual/en/function.imagecopyresized.php

« previous php.notes (#159007) next »