Enjoy an ad free experience by logging in. Not a member yet?
Register .
01-22-2010, 03:46 AM
PM User |
#1
New to the CF scene
Join Date: Jan 2010
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Could someone help with image resize
The code I have uploads the image,creates a 120x120 thumbnail, and leaves the original image whatever size it is.
I need it to also resize the original image also to 480x360 and save it as the original filename.
Leaving the original image at makes some images take the whole screen up and more.
I am new to php and can not figure this out. could someone please modify this code for me. I have tried multiple times reading multiple tutorials and am ready to pull my hair out.
Thank you kindly
PHP Code:
<?php
include 'includes/common.inc.php' ;
if (! $user -> logged_in )
{
//if your not logged in you shouldn't be here
header ( "location: user_login.php" );
exit;
}
$cropdefault = false ;
$width = $system -> SETTINGS [ 'thumb_show' ];
$height = $width / 1.2 ;
function resizeThumbnailImage ( $thumb_image_name , $image , $width , $height , $start_width , $start_height , $scale )
{
list( $imagewidth , $imageheight , $imageType ) = getimagesize ( $image );
$imageType = image_type_to_mime_type ( $imageType );
// some error checks
$start_width = ( $start_width < 0 ) ? 0 : $start_width ;
$start_height = ( $start_height < 0 ) ? 0 : $start_height ;
$width = ( $imagewidth < $width ) ? $imagewidth : $width ;
$height = ( $imageheight < $height ) ? $imageheight : $height ;
if (( $width + $start_width ) > $imagewidth )
{
$start_width = $imagewidth - $width ;
}
if (( $height + $start_height ) > $imageheight )
{
$start_height = $imageheight - $height ;
}
$newImageWidth = ceil ( $width * $scale );
$newImageHeight = ceil ( $height * $scale );
$newImage = imagecreatetruecolor ( $newImageWidth , $newImageHeight );
switch ( $imageType )
{
case 'image/gif' :
$source = imagecreatefromgif ( $image );
break;
case 'image/pjpeg' :
case 'image/jpeg' :
case 'image/jpg' :
$source = imagecreatefromjpeg ( $image );
break;
case 'image/png' :
case 'image/x-png' :
$source = imagecreatefrompng ( $image );
break;
}
//###########################################################################################################
imagecopyresampled ( $newImage , $source , 0 , 0 , $start_width , $start_height , $newImageWidth , $newImageHeight , $width , $height );
switch ( $imageType )
{
case 'image/gif' :
imagegif ( $newImage , $thumb_image_name );
break;
case 'image/pjpeg' :
case 'image/jpeg' :
case 'image/jpg' :
imagejpeg ( $newImage , $thumb_image_name , 90 );
break;
case 'image/png' :
case 'image/x-png' :
imagepng ( $newImage , $thumb_image_name );
break;
}
chmod ( $thumb_image_name , 0777 );
chmod ( image_name , 0777 );
return $thumb_image_name ;
}
//###########################################################################################################
// Process delete
if ( $_GET [ 'action' ] == 'delete' && isset( $_GET [ 'img' ]))
{
if ( $_SESSION [ 'SELL_pict_url_temp' ] == $_SESSION [ 'UPLOADED_PICTURES' ][ intval ( $_GET [ 'img' ])])
{
unlink ( $upload_path . session_id () . '/' . $_SESSION [ 'SELL_pict_url' ]);
unset( $_SESSION [ 'SELL_pict_url' ]);
}
unlink ( $upload_path . session_id () . '/' . $_SESSION [ 'UPLOADED_PICTURES' ][ intval ( $_GET [ 'img' ])]);
unset( $_SESSION [ 'UPLOADED_PICTURES' ][ intval ( $_GET [ 'img' ])]);
unset( $_SESSION [ 'UPLOADED_PICTURES_SIZE' ][ intval ( $_GET [ 'img' ])]);
}
if ( $_GET [ 'action' ] == 'makedefault' )
{
$cropdefault = true ;
$image = $_GET [ 'img' ];
}
if ( $_GET [ 'action' ] == 'crop' && !empty( $_POST [ 'w' ]))
{
if ( $_POST [ 'upload_thumbnail' ] == $MSG [ '616' ])
{
// Get the new coordinates to crop the image.
$x1 = intval ( $_POST [ 'x1' ]);
$y1 = intval ( $_POST [ 'y1' ]);
$x2 = intval ( $_POST [ 'x2' ]);
$y2 = intval ( $_POST [ 'y2' ]);
$w = intval ( $_POST [ 'w' ]);
$h = intval ( $_POST [ 'h' ]);
// Scale the image to the thumb_width set above
$scale = $width / $w ;
$large_image_location = $upload_path . session_id () . '/' . $_GET [ 'img' ];
$thumb_image_location = $upload_path . session_id () . '/thumb-' . $_GET [ 'img' ];
$cropped = resizeThumbnailImage ( $thumb_image_location , $large_image_location , $w , $h , $x1 , $y1 , $scale );
$_SESSION [ 'SELL_pict_url' ] = 'thumb-' . $_GET [ 'img' ];
$_SESSION [ 'SELL_pict_url_temp' ] = $_GET [ 'img' ];
}
else
{
$_SESSION [ 'SELL_pict_url_temp' ] = $_SESSION [ 'SELL_pict_url' ] = $_GET [ 'img' ];
}
}
// close window
if (!empty( $_POST [ 'creategallery' ]))
{
$_SESSION [ 'GALLERY_UPDATED' ] = true ;
print '<script type="text/javascript">window.close()</script>' ;
exit;
}
// PROCESS UPLOADED FILE
if ( $_POST [ 'uploadpicture' ] == $MSG [ '681' ])
{
if (!empty( $_FILES [ 'userfile' ][ 'tmp_name' ]) && $_FILES [ 'userfile' ][ 'tmp_name' ] != 'none' )
{
if (!isset( $_SESSION [ 'UPLOADED_PICTURES' ]) || ! is_array ( $_SESSION [ 'UPLOADED_PICTURES' ])) $_SESSION [ 'UPLOADED_PICTURES' ] = array();
if (!isset( $_SESSION [ 'UPLOADED_PICTURES_SIZE' ]) || ! is_array ( $_SESSION [ 'UPLOADED_PICTURES_SIZE' ])) $_SESSION [ 'UPLOADED_PICTURES_SIZE' ] = array();
$filename = $_FILES [ 'userfile' ][ 'name' ];
$nameparts = explode ( '.' , $filename );
$file_ext = $nameparts [ count ( $nameparts ) - 1 ];
$file_types = array( 'gif' , 'jpg' , 'jpeg' , 'png' , 'GIF' , 'JPG' , 'JPEG' , 'PNG' );
if ( $_FILES [ 'userfile' ][ 'size' ] > $system -> SETTINGS [ 'maxuploadsize' ])
{
$ERR = $ERR_709 . ' ' . ( $system -> SETTINGS [ 'maxuploadsize' ] / 1024 ) . ' ' . $MSG [ '672' ];
}
elseif (! in_array ( $file_ext , $file_types ))
{
$ERR = $ERR_710 . ' (' . $file_ext . ')' ;
}
elseif ( in_array ( $_FILES [ 'userfile' ][ 'name' ], $_SESSION [ 'UPLOADED_PICTURES' ]))
{
$ERR = $MGS_2__0054 . ' (' . $_FILES [ 'userfile' ][ 'name' ] . ')' ;
}
else
{
// Create a TMP directory for this session (if not already created)
if (! file_exists ( $upload_path . session_id ()))
{
umask ( 0 );
mkdir ( $upload_path . session_id (), 0777 );
chmod ( $upload_path . session_id (), 0777 ); //incase mkdir fails
}
// Move uploaded file into TMP directory & rename
$replace = array( '.' , ' ' , ',' );
// clean the file
$newname = str_replace ( '.' . $file_ext , '' , $filename );
$newname = str_replace ( $replace , '_' , $newname ) . '.' . $file_ext ;
if ( $system -> move_file ( $_FILES [ 'userfile' ][ 'tmp_name' ], $upload_path . session_id () . '/' . $newname ))
{
// Populate arrays
array_push ( $_SESSION [ 'UPLOADED_PICTURES' ], $newname );
$fname = $upload_path . session_id () . '/' . $newname ;
array_push ( $_SESSION [ 'UPLOADED_PICTURES_SIZE' ], filesize ( $fname ));
if ( count ( $_SESSION [ 'UPLOADED_PICTURES' ]) == 1 )
{
$cropdefault = true ;
$image = $newname ;
}
}
}
}
}
if ( $cropdefault )
{
list( $imgwidth , $imgheight ) = getimagesize ( $upload_path . session_id () . '/' . $image );
$swidth = ( $imgwidth < 380 ) ? '' : ' width: 380px;' ;
$imgratio = ( $imgwidth > 380 ) ? $imgwidth / 380 : 1 ;
$startX = $imgwidth ;
$startY = $imgheight ;
if ( $imgwidth > $imgheight )
{
$ratio = '1.2:1' ;
$thumbwh = 'width:' . $width . '; height:' . $height . ';' ;
$scaleX = 120 ;
$scaleY = 100 ;
$startX = $startY * 1.2 ;
}
else
{
$ratio = '1:1.2' ;
$thumbwh = 'height:' . $width . '; width:' . $height . ';' ;
$scaleX = 100 ;
$scaleY = 120 ;
$startY = $startX * 1.2 ;
}
$template -> assign_vars (array(
'RATIO' => $ratio ,
'THUMBWH' => $thumbwh ,
'SCALEX' => $scaleX ,
'SCALEY' => $scaleY ,
'IMGRATIO' => $imgratio ,
'SWIDTH' => $swidth ,
'IMGWIDTH' => $imgwidth ,
'IMGHEIGHT' => $imgheight ,
'IMGPATH' => $uploaded_path . session_id () . '/' . $image ,
'STARTX' => $startX ,
'STARTY' => $startY ,
'IMAGE' => $image
));
}
else
{
$template -> assign_vars (array(
'MAXIMAGES' => $system -> SETTINGS [ 'maxpictures' ],
'ERROR' => (isset( $ERR )) ? $ERR : '' ,
'B_CANUPLOAD' => (!isset( $_SESSION [ 'UPLOADED_PICTURES' ]) || count ( $_SESSION [ 'UPLOADED_PICTURES' ]) < $system -> SETTINGS [ 'maxpictures' ])
));
}
foreach ( $_SESSION [ 'UPLOADED_PICTURES' ] as $k => $v )
{
$template -> assign_block_vars ( 'images' , array(
'IMGNAME' => $v ,
'IMGSIZE' => $_SESSION [ 'UPLOADED_PICTURES_SIZE' ][ $k ],
'ID' => $k ,
'DEFAULT' => ( $v == $_SESSION [ 'SELL_pict_url_temp' ]) ? 'selected.gif' : 'unselected.gif'
));
}
if ( $system -> SETTINGS [ 'fees' ] == 'y' )
{
$query = "SELECT value FROM " . $DBPrefix . "fees WHERE type = 'picture_fee'" ;
$res = mysql_query ( $query );
$system -> check_mysql ( $res , $query , __LINE__ , __FILE__ );
$image_fee = mysql_result ( $res , 0 );
}
else
{
$image_fee = 0 ;
}
// get decimals for javascript rounder
$decimals = '' ;
for ( $i = 0 ; $i < $system -> SETTINGS [ 'moneydecimals' ]; $i ++)
{
$decimals .= 0 ;
}
$template -> assign_vars (array(
'SITENAME' => $system -> SETTINGS [ 'sitename' ],
'THEME' => $system -> SETTINGS [ 'theme' ],
'HEADERCOLOUR' => $system -> SETTINGS [ 'headercolor' ],
'NUMIMAGES' => count ( $_SESSION [ 'UPLOADED_PICTURES' ]),
'IMAGE_COST' => $image_fee ,
'FEE_DECIMALS' => $decimals ,
'B_CROPSCREEN' => $cropdefault
));
$template -> set_filenames (array(
'body' => 'upldgallery.tpl'
));
$template -> display ( 'body' );
?>
01-22-2010, 10:59 PM
PM User |
#2
UE Antagonizer
Join Date: Dec 2005
Location: Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
Posts: 7,687
Thanks: 42
Thanked 637 Times in 625 Posts
That really isn't what we do here, for the most part. We are here to assist you with the concepts of PHP programming, not perform modifications to your script free of charge. If you want to show us what code you've come up with to get it to work, we can help you see what's wrong and right with the code, and go from there.
Jump To Top of Thread
Thread Tools
Rate This Thread
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
All times are GMT +1. The time now is 02:10 AM .
Advertisement
Log in to turn off these ads.