note 90651 added to function.imagecopyresized
| From: | kvslaap at osu1 dot php dot net | 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