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

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

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


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

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


Kamran
Kamran
تخصص :برنامه نویس فرانت اند و لاراول
@kami.dev4 سال پیشمطرح شد
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);
}

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

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


امانوئل
امانوئل
تخصص ::) بـالـاخـَرـہ ڪـَم و زیـاد بلدیم
@emnatkins4 سال پیشمطرح شد
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; 

?>

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

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


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

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