...

View Full Version : Could someone help with image resize



avl8386
01-22-2010, 03:46 AM
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
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 . '&nbsp;' . ($system->SETTINGS['maxuploadsize'] / 1024) . '&nbsp;' . $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');
?>

Fumigator
01-22-2010, 10:59 PM
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.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum