/****udaje pre treti obrazok****/ tam je hodnota na aku chcem zmensit ten nahlad terajsi ktory vytvara tento kod
Kód: Vybrať všetko
<?php
error_reporting (E_ALL ^ E_NOTICE);
session_start(); //Do not remove this
$id_hotel = $_GET['id_hotel'];
$action = $_GET['action'];
//Constants
//You can alter these options
switch($action){
case '1' : $upload_dir = "hotel".$id_hotel; // The directory for the images to be saved in
$upload_path = $upload_dir."/"; // The path to where the image will be saved
$large_image_prefix = "resize_main"; // The prefix name to large image
$middle_image_prefix = "middle_main"; // The prefix name to the thumb image
$max_width = "800"; // Max width allowed for the large image
$middle_width = "356"; // Width of middle image
$middle_height = "234"; // Height of middle image
/****udaje pre 3 obrazok*****/
$thumb_width = "136"; // Height of thumbnail image
/****udaje pre 3 obrazok*****/
}
$large_image_name = $large_image_prefix.".jpg"; // New name of the large image (append the timestamp to the filename)
$middle_image_name = $middle_image_prefix.".jpg"; // New name of the thumbnail image (append the timestamp to the filename)
$max_file = "3";
//Image functions
//You do not need to alter these functions
function resizeImage($image,$width,$height,$scale) {
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$source = imagecreatefromjpeg($image);
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
imagejpeg($newImage,$image,90);
chmod($image, 0777);
return $image;
}
//You do not need to alter these functions
function resizeMiddleImage($middle_image_name, $image, $width, $height, $start_width, $start_height, $scale){
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$source = imagecreatefromjpeg($image);
imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,$newImageHeight,$width,$height);
imagejpeg($newImage,$middle_image_name,90);
chmod($middle_image_name, 0777);
return $middle_image_name;
}
//You do not need to alter these functions
function getHeight($image) {
$sizes = getimagesize($image);
$height = $sizes[1];
return $height;
}
//You do not need to alter these functions
function getWidth($image) {
$sizes = getimagesize($image);
$width = $sizes[0];
return $width;
}
//Image Locations
$large_image_location = $upload_path.$large_image_name;
$middle_image_location = $upload_path.$middle_image_name;
//Create the upload directory with the right permissions if it doesn't exist
if(!is_dir($upload_dir)){
mkdir($upload_dir, 0777);
chmod($upload_dir, 0777);
}
//Check to see if any images with the same names already exist
if (file_exists($large_image_location)){
if(file_exists($middle_image_location)){
$middle_photo_exists = "<img src=\"".$upload_path.$middle_image_name."\" alt=\"Thumbnail Image\"/>";
}else{
$middle_photo_exists = "";
}
$large_photo_exists = "<img src=\"".$upload_path.$large_image_name."\" alt=\"Large Image\"/>";
} else {
$large_photo_exists = "";
$middle_photo_exists = "";
}
if (isset($_POST["upload"])) {
//Get the file information
$userfile_name = $_FILES['image']['name'];
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$filename = basename($_FILES['image']['name']);
$file_ext = substr($filename, strrpos($filename, '.') + 1);
//Only process if the file is a JPG and below the allowed limit
if((!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0)) {
if (($file_ext!="jpg") || ($userfile_size > ($max_file*1048576))) { // UPDATED ERROR CHECK
$error= "Iba jpeg súbory s veľkosťou menšou ako ".$max_file."MB su povolené";
}
}else{
$error= "Vyberte obrázok typu jpeg(jpg) pre nahratie";
}
//Everything is ok, so we can upload the image.
if (strlen($error)==0){
if (isset($_FILES['image']['name'])){
move_uploaded_file($userfile_tmp, $large_image_location);
chmod($large_image_location, 0777);
$width = getWidth($large_image_location);
$height = getHeight($large_image_location);
//Scale the image if it is greater than the width set above
if ($width > $max_width){
$scale = $max_width/$width;
$uploaded = resizeImage($large_image_location,$width,$height,$scale);
}else{
$scale = 1;
$uploaded = resizeImage($large_image_location,$width,$height,$scale);
}
//Delete the thumbnail file so the user can create a new one
if (file_exists($middle_image_location)) {
unlink($middle_image_location);
}
}
//Refresh the page to show the new uploaded image
header("location:".$_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action);
exit();
}
}
if (isset($_POST["upload_middle"]) && strlen($large_photo_exists)>0) {
//Get the new coordinates to crop the image.
$x1 = $_POST["x1"];
$y1 = $_POST["y1"];
$x2 = $_POST["x2"];
$y2 = $_POST["y2"];
$w = $_POST["w"];
$h = $_POST["h"];
//Scale the image to the thumb_width set above
$scale = $middle_width/$w;
$cropped = resizeMiddleImage($middle_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
//Reload the page again to view the thumbnail
header("location:".$_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action);
exit();
}
if ($_GET['a']=="delete"){
//get the file locations
$large_image_location = $upload_path.$large_image_prefix.".jpg";
$middle_image_location = $upload_path.$middle_image_prefix.".jpg";
if (file_exists($large_image_location)) {
unlink($large_image_location);
}
if (file_exists($middle_image_location)) {
unlink($middle_image_location);
}
header("location:".$_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action);
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.4.min.js"></script>
<script type="text/javascript" src="js/jquery.imgareaselect.min.js"></script>
<script >
function showInfo(){
img = '<img src="subory/images/loading_upload.gif" border="0">';
document.getElementById("showInfoDiv").innerHTML = img + "vydžte prosím, obrázok sa pripravuje k dalšiemu použitiu";
}
</script>
</head>
<body>
<?php
//Only display the javacript if an image has been uploaded
if(strlen($large_photo_exists)>0){
$current_large_image_width = getWidth($large_image_location);
$current_large_image_height = getHeight($large_image_location);?>
<script type="text/javascript">
function preview(img, selection) {
var scaleX = <?php echo $middle_width;?> / selection.width;
var scaleY = <?php echo $middle_height;?> / selection.height;
$('#middle + div > img').css({
width: Math.round(scaleX * <?php echo $current_large_image_width;?>) + 'px',
height: Math.round(scaleY * <?php echo $current_large_image_height;?>) + 'px',
marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
});
$('#x1').val(selection.x1);
$('#y1').val(selection.y1);
$('#x2').val(selection.x2);
$('#y2').val(selection.y2);
$('#w').val(selection.width);
$('#h').val(selection.height);
}
$(document).ready(function () {
$('#save_middle').click(function() {
var x1 = $('#x1').val();
var y1 = $('#y1').val();
var x2 = $('#x2').val();
var y2 = $('#y2').val();
var w = $('#w').val();
var h = $('#h').val();
if(x1=="" || y1=="" || x2=="" || y2=="" || w=="" || h==""){
alert("You must make a selection first");
return false;
}else{
return true;
}
});
});
$(window).load(function () {
$('#middle').imgAreaSelect({ aspectRatio: '1:<?php echo $middle_height/$middle_width;?>', onSelectChange: preview });
});
</script>
<?php }?>
<h1>Photo Upload and Crop</h1>
<?php
//Display error message if there are any
if(strlen($error)>0){
echo "<ul><li><strong>Error!</strong></li><li>".$error."</li></ul>";
}
if(strlen($large_photo_exists)>0 && strlen($middle_photo_exists)>0){
echo $large_photo_exists." ".$middle_photo_exists;
echo "<p><a href=\"".$_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action."&a=delete\">Odstrániť / nahrať iný</a></p>";
}else{
if(strlen($large_photo_exists)>0){?>
<h2>Create Thumbnail</h2>
<div align="center">
<img src="<?php echo $upload_path.$large_image_name;?>" style="float: left; margin-right: 10px;" id="middle" alt="Create Thumbnail" />
<div style="float:left; position:relative; overflow:hidden; width:<?php echo $middle_width;?>px; height:<?php echo $middle_height;?>px;">
<img src="<?php echo $upload_path.$large_image_name;?>" style="position: relative;" alt="Thumbnail Preview" />
</div>
<br style="clear:both;"/>
<form name="middle" action="<?php echo $_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action;?>" method="post">
<input type="hidden" name="x1" value="" id="x1" />
<input type="hidden" name="y1" value="" id="y1" />
<input type="hidden" name="x2" value="" id="x2" />
<input type="hidden" name="y2" value="" id="y2" />
<input type="hidden" name="w" value="" id="w" />
<input type="hidden" name="h" value="" id="h" />
<input type="submit" name="upload_middle" value="Uložiť náhľad" id="save_middle" />
</form>
</div>
<hr />
<?php }
if(strlen($large_photo_exists)>0){
echo "<h2>Nahrať iný obrázok</h2>";
}
else{
echo "<h2>Nahrať obrázok</h2>";
}
?>
<form name="photo" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]."?id_hotel=".$id_hotel."&action=".$action;?>" method="post">
obrázok <input type="file" name="image" size="30" /> <input type="submit" name="upload" value="Nahrať obrázok" onclick="showInfo()"/>
</form>
<?php echo '<div id="showInfoDiv"></div>';?>
<?php } ?><br>
<a href="registracia_hotel.php?id_hotel=<?php echo $id_hotel?>">späť do profilu</a>
</body>
</html>//autoeditácia príspevku (02 Jún 2010, 19:15)
tak riešenie mojho problemu...nakoniec som si to spravil
za $cropped = resizeMiddleImage($middle_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
dopisat
Kód: Vybrať všetko
$filename = $middle_image_location;
$percent = $thumb_width/$middle_width;
list($widtht, $heightt) = getimagesize($filename);
$new_widtht = $thumb_width;
$new_heightt = $middle_height * $percent;
$image_p = imagecreatetruecolor($new_widtht, $new_heightt);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_widtht, $new_heightt, $widtht, $heightt);
imagejpeg($image_p, $thumb_image_location, 100);