Как оптимизировать размер файла изображения при загрузке

0

Привет, ребята, мне нужна помощь.

<form action="sample.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="submit">
</form>

Затем, когда я нажимаю " Отправить", размер файла изображения будет сведен к минимуму.

Например.

Gaara.JPG = размер файла: 1.50mb;

Но когда я загружаю Размер файла, он будет уменьшаться.

Like = размер файла: 600kb; или меньше.

благодаря

Теги:

3 ответа

0

U может попробовать использовать Image Magician script, с помощью которого вы можете обрезать, изменять размер, добавлять водяные знаки, границы и делать другие вещи. Вот ссылка http://phpimagemagician.jarrodoberto.com/

Использование образца:

include_once ('.../php_image_magician.php');
$path = "your/media_media_upload_directory/";
$destination = "your_thumbnails/media_upload/directory/";
 if(move_uploaded_file($tmp, $path.$actual_image_name)) {
  $magicianObj = new imageLib($path.$actual_image_name);
   $magicianObj -> resizeImage(630, 600, 'landscape');
   $magicianObj -> addWatermark('your/watermark/folder/watermark.png', 'l', 5);
   $magicianObj -> saveImage($path.$actual_image_name, 70);
    $magicianObj -> reset();
   $magicianObj -> resizeImage(300, 300, 'crop-tl', true);
   $magicianObj -> saveImage($destination.$actual_image_name);
 }

В этом примере после того, как файл был перемещен из папки tmp в папку с носителями, я изменяю его размер, добавляя водяной знак, а затем пихаю по миниатюре, при действии saveImage у вас есть возможность уменьшить качество от 100 до всего, что вы хотите, на пример качества - 70.

0

Сжатие изображений на стороне клиента перед загрузкой или сжатие клиентского файла

0
<?php
############ Configuration ##############
$thumb_square_size      = 200; //Thumbnails will be cropped to 200x200 pixels
$max_image_size         = 5000; //Maximum image size (height and width)
$thumb_prefix           = "thumb_"; //Normal thumb Prefix
$destination_folder     = 'uploads/'; //upload directory ends with / (slash)
$jpeg_quality           = 90; //jpeg quality
##########################################

//continue only if $_POST is set and it is a Ajax request
if(isset($_POST['image_file']) && isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&     strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){

// check $_FILES['ImageFile'] not empty
if(!isset($_FILES['image_file']) || !is_uploaded_file($_FILES['image_file']    ['tmp_name'])){
        die('Image file is Missing!'); // output error when above checks     fail.
}

//uploaded file info we need to proceed
$image_name = $_FILES['image_file']['name']; //file name
$image_size = $_FILES['image_file']['size']; //file size
$image_temp = $_FILES['image_file']['tmp_name']; //file temp

$image_size_info    = getimagesize($image_temp); //get image size

if($image_size_info){
    $image_width        = $image_size_info[0]; //image width
    $image_height       = $image_size_info[1]; //image height
    $image_type         = $image_size_info['mime']; //image type
}else{
    die("Make sure image file is valid!");
}

//switch statement below checks allowed image type 
//as well as creates new image from given file 
switch($image_type){
    case 'image/png':
        $image_res =  imagecreatefrompng($image_temp); break;
    case 'image/gif':
        $image_res =  imagecreatefromgif($image_temp); break;           
    case 'image/jpeg': case 'image/pjpeg':
        $image_res = imagecreatefromjpeg($image_temp); break;
    default:
        $image_res = false;
}

if($image_res){
    //Get file extension and name to construct new file name 
    $image_info = pathinfo($image_name);
    $image_extension = strtolower($image_info["extension"]); //image extension
    $image_name_only = strtolower($image_info["filename"]);//file name only, no     extension

    //create a random name for new image (Eg: fileName_293749.jpg) ;
    $new_file_name = $image_name_only. '_' .  rand(0, 9999999999) . '.' .     $image_extension;

    //folder path to save resized images and thumbnails
    $thumb_save_folder  = $destination_folder . $thumb_prefix .     $new_file_name; 
    $image_save_folder  = $destination_folder . $new_file_name;

    //call normal_resize_image() function to proportionally resize image
    if(normal_resize_image($image_res, $image_save_folder, $image_type,     $max_image_size, $image_width, $image_height, $jpeg_quality))
    {
        //call crop_image_square() function to create square thumbnails
        if(!crop_image_square($image_res, $thumb_save_folder, $image_type,     $thumb_square_size, $image_width, $image_height, $jpeg_quality))
        {
            die('Error Creating thumbnail');
        }

        /* We have succesfully resized and created thumbnail image
        We can now output image to user browser or store information in     the database*/
        echo '<div align="center">';
        echo '<img src="uploads/'.$thumb_prefix . $new_file_name.'"     alt="Thumbnail">';
        echo '<br />';
        echo '<img src="uploads/'. $new_file_name.'" alt="Resized Image">';
        echo '</div>';
    }

    imagedestroy($image_res); //freeup memory
}
}

?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню