علی جمالی
3 سال پیش توسط علی جمالی مطرح شد
5 پاسخ

کم حجم سازی تصاویر

سلام
من میخوام هر عکسی که توی هاست آپلود شد حجمش کم شه
اگه توی php یا js کتابخونه سراغ دارین راهنمایی کنین لطفاً


ثبت پرسش جدید
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

سلام
می تونید از تابع imagecopyresampled استفاده کنید.
این پکیچ هم ممکنه برای کار شما مناسب باشه.


Kamran
تخصص : برنامه نویس فرانت اند و لاراول
@kami.dev 3 سال پیش مطرح شد
0
// Compress image
function compressImage($source, $destination, $quality) {
  $info = getimagesize($source);
  if ($info['mime'] == 'image/jpeg') 
    $image = imagecreatefromjpeg($source);
  elseif ($info['mime'] == 'image/gif') 
    $image = imagecreatefromgif($source);
  elseif ($info['mime'] == 'image/png') 
    $image = imagecreatefrompng($source);
  imagejpeg($image, $destination, $quality);
}

علی جمالی
تخصص : برنامه نویس وب
@alijamali 3 سال پیش مطرح شد
1

ممنون از راهنماییتون @hekmati @sajad.chaji811


امانوئل
تخصص : :) بـالـاخـَرـہ ڪـَم و زیـاد...
@emnatkins 3 سال پیش مطرح شد
0

Compressimage() یک تابع سفارشیه که کمک می کنه تا تصویر رو فشرده کنی

اگر فایل سابمیت شد, داده های فایل با متد $_FILES در PHP دریافت میشه و با تابع compressimage() حجم تصویر فشرده و آپلود میشه

<?php 

/* 
 * Custom function to compress image size and 
 * upload to the server using PHP 
 */ 
function compressImage($source, $destination, $quality) { 
    // Get image info 
    $imgInfo = getimagesize($source); 
    $mime = $imgInfo['mime']; 

    // Create a new image from file 
    switch($mime){ 
        case 'image/jpeg': 
            $image = imagecreatefromjpeg($source); 
            break; 
        case 'image/png': 
            $image = imagecreatefrompng($source); 
            break; 
        case 'image/gif': 
            $image = imagecreatefromgif($source); 
            break; 
        default: 
            $image = imagecreatefromjpeg($source); 
    } 

    // Save image 
    imagejpeg($image, $destination, $quality); 

    // Return compressed image 
    return $destination; 
} 

// File upload path 
$uploadPath = "uploads/"; 

// If file upload form is submitted 
$status = $statusMsg = ''; 
if(isset($_POST["submit"])){ 
    $status = 'error'; 
    if(!empty($_FILES["image"]["name"])) { 
        // File info 
        $fileName = basename($_FILES["image"]["name"]); 
        $imageUploadPath = $uploadPath . $fileName; 
        $fileType = pathinfo($imageUploadPath, PATHINFO_EXTENSION); 

        // Allow certain file formats 
        $allowTypes = array('jpg','png','jpeg','gif'); 
        if(in_array($fileType, $allowTypes)){ 
            // Image temp source 
            $imageTemp = $_FILES["image"]["tmp_name"]; 

            // Compress size and upload image 
            $compressedImage = compressImage($imageTemp, $imageUploadPath, 75); 

            if($compressedImage){ 
                $status = 'success'; 
                $statusMsg = "Image compressed successfully."; 
            }else{ 
                $statusMsg = "Image compress failed!"; 
            } 
        }else{ 
            $statusMsg = 'Sorry, only JPG, JPEG, PNG, & GIF files are allowed to upload.'; 
        } 
    }else{ 
        $statusMsg = 'Please select an image file to upload.'; 
    } 
} 

// Display status message 
echo $statusMsg; 

?>

افشار محمودیان
تخصص : برنامه نویس
@afsharmahmoodian 3 سال پیش مطرح شد
0

این پکیج رو پیشنهاد میکنم ...
https://github.com/smottt/WideImage


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام