avl8386 Posted January 19, 2010 Share Posted January 19, 2010 In the code it resizes a thumbnail to 120x120 and saves it. I need it to resize the original image to 640x427 before it saves it also. Can anyone help?? <?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); 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'); ?> Link to comment https://forums.phpfreaks.com/topic/188970-need-images-resized/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.