[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: image uploader помогите пожалуйста
prok19
помогите пожалуйста
Нужна помощь
скрипт 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_source0000$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 smile.gif



Спустя 23 минуты, 28 секунд (23.09.2009 - 07:59) kirik написал(а):
Вообще код специально написан чтобы уменьшать фотку 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
Или просто в конец исходного (перед 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 biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.