prok19
23.09.2009 - 08:35
помогите пожалуйста
Нужна помощь
скрипт image upload с последуюшим фото preview
когда я питаюсь аплоад фото скажем размером 9мб
фотография сохраняется на сервере в гораздо меньшем размере
мне нужно штобы фото сохранялось в таком же размере в котором
она на компьютере клиента, для последующей печати
вот скрипт
PHP |
<?php ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted"?> <?php // upload the file if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) { // file needs to be jpg,gif,bmp,x-png and 4 MB max if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 4000000)) { // some settings $max_upload_width = 2592; $max_upload_height = 1944; // if user chosed properly then scale down the image according to user preferances if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){ $max_upload_width = $_REQUEST['max_width_box']; } if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){ $max_upload_height = $_REQUEST['max_height_box']; }
// if uploaded image was JPG/JPEG if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){ $image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]); } // if uploaded image was GIF if($_FILES["image_upload_box"]["type"] == "image/gif"){ $image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]); } // BMP doesn't seem to be supported so remove it form above image type test (reject bmps) // if uploaded image was BMP if($_FILES["image_upload_box"]["type"] == "image/bmp"){ $image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]); } // if uploaded image was PNG if($_FILES["image_upload_box"]["type"] == "image/x-png"){ $image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]); }
$remote_file = "image_files/".$_FILES["image_upload_box"]["name"]; imagejpeg($image_source,$remote_file,100); chmod($remote_file,0644);
// get width and height of original image list($image_width, $image_height) = getimagesize($remote_file); if($image_width>$max_upload_width || $image_height >$max_upload_height){ $proportions = $image_width/$image_height; if($image_width>$image_height){ $new_width = $max_upload_width; $new_height = round($max_upload_width/$proportions); } else{ $new_height = $max_upload_height; $new_width = round($max_upload_height*$proportions); } $new_image = imagecreatetruecolor($new_width , $new_height); $image_source = imagecreatefromjpeg($remote_file); imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height); imagejpeg($new_image,$remote_file,100); imagedestroy($new_image); } imagedestroy($image_source); header("Location: submit.php?upload_message=image uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]); exit; } else{ header("Location: submit.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 4MB&upload_message_type=error"); exit; } }
|
Spasibo i izvenyaus za oshibki
Спустя 23 минуты, 28 секунд (23.09.2009 - 07:59) kirik написал(а):
Вообще код специально написан чтобы уменьшать фотку
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Вот загрузка оригинального размера:
PHP |
ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted";
// upload the file if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) { // file needs to be jpg,gif,bmp,x-png and 4 MB max if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 9000000)) { $remote_file = "image_files/".$_FILES["image_upload_box"]["name"]; move_uploaded_file($_FILES["image_upload_box"]["tmp_name"], $remote_file); chmod($remote_file,0644);
header("Location: submit.php?upload_message=image uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]); exit; } else{ header("Location: submit.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 4MB&upload_message_type=error"); exit; } } |
Спустя 11 минут, 23 секунды (23.09.2009 - 08:10) prok19 написал(а):
sposibo za otvet.
A chto nugno chto bi vse ostavalos kak est no originalniy file ( razmer ) sohranyalsya v
drugouy papke, ? spasibo
Спустя 3 минуты, 17 секунд (23.09.2009 - 08:14) kirik написал(а):
Соединить два скрипта
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Или просто в конец исходного (перед
header("Location: submit.php?uploa...ype=success&show_...) вставить это:
PHP |
$remote_file = "another_image_files/".$_FILES["image_upload_box"]["name"]; move_uploaded_file($_FILES["image_upload_box"]["tmp_name"], $remote_file); chmod($remote_file,0644); |
личку еще посмотри..
Спустя 29 минут, 45 секунд (23.09.2009 - 08:43) prok19 написал(а):
WOW spasibo ogromnoe vse rabotaet rabotaet