Jump to content

PHP image resize script


petenaylor

Recommended Posts

Hi all

 

The below piece of code resizes some size images and not others. For example, an image in landscape size of 800 pixels by 600 pixels works OK, but if I try and upload a portrait image the same dimensions it just gets stuck?

 

Any ideas?

 

if(!empty($_FILES['image1']['name'])) {
$imagelarge = $_FILES['image1']['tmp_name'];
$imagelargemain = $_FILES['image1']['name'];
$pathInfo = pathinfo($imagelargemain); 
$rand = rand(1, 100000000000000); 
$name = $rand . '.' . $pathInfo['extension']; 
$src = imagecreatefromjpeg($imagelarge);
list($width,$height)=getimagesize($imagelarge);
if ($width > $height) {
$newwidth=600;
$newheight=($height/$width)*$newwidth;
}
elseif ($height > $width) {
$newheight=400;
$newwidth=($width/$height)*$newheight;
}
$center_x = (600/2)-($newwidth/2);
$center_y = (400/2)-($newheight/2);
$tmp=imagecreatetruecolor(600,400);
$white = imagecolorallocate($tmp, 255, 255, 255);
imagefill($tmp, 0, 0, $white);
imagecopyresampled($tmp,$src,$center_x,$center_y,0,0,$newwidth,$newheight,$width,$height);
$filename = WEB_UPLOAD."images/adverts/". $name;
imagejpeg($tmp,$filename,100);
imagedestroy($src);
imagedestroy($tmp);
$image_sql = mysql_query("UPDATE `adverts` SET image1 ='".$name."' WHERE id='".$advert_id."'") or die ("Error updating database");	
}

 

Thanks for your help.

 

Pete

Link to comment
https://forums.phpfreaks.com/topic/240147-php-image-resize-script/
Share on other sites

Does "freeze" mean the browser keeps trying to load something? Or it stops and you don't see anything on the page?

If you do a View Source do you see anything? Have you made sure that display_errors=on in your php.ini? (If not, set it, restart the web server, and look for error messages on that page.)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.