0
کم کردن حجم فایل
سلام به همه ی دوستان عزیز
دوستان من می خوام یه قابلیتی برای سایتم بگذارم که افراد دیگه بتونن برای پروفایلشون عکس قرار بدن. حالا می خواستم بدونم روش یا الگوریتمی در php هست که بشه حجم این فایل های ارسالی رو کم کرد که در سرور فضای کمتری بگیرن این عکس ها.
ممنون میشم پاسخ بدید
2 پاسخ
0
این لینک رو هم ببینید
این رو هم ببینید
<?php function compress($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); return $destination; } $source_img = 'source.jpg'; $destination_img = 'destination .jpg'; $d = compress($source_img, $destination_img, 90); ?>
1
سلام دوست عزيز
اين كد براي فشرده كردن فايل هاي Jpeg , Jpg مناسب هست و خوب كار ميكنه .
<form action="" method="post" enctype="multipart/form-data" id="something" class="uniForm"> <input name="new_image" id="new_image" size="30" type="file" class="fileUpload" /> <button name="submit" type="submit" class="submitButton">Upload/Resize Image</button> <?php if(isset($_POST['submit'])){ if (isset ($_FILES['new_image'])){ $imagename = $_FILES['new_image']['name']; $source = $_FILES['new_image']['tmp_name']; $target = "images/".$imagename; move_uploaded_file($source, $target); $imagepath = $imagename; $save = "images/" . $imagepath; //This is the new file you saving $file = "images/" . $imagepath; //This is the original file list($width, $height) = getimagesize($file) ; $tn = imagecreatetruecolor($width, $height) ; $image = imagecreatefromjpeg($file) ; imagecopyresampled($tn, $image, 0, 0, 0, 0, $width, $height, $width, $height) ; imagejpeg($tn, $save, 70) ; $save = "images/sml_" . $imagepath; //This is the new file you saving $file = "images/" . $imagepath; //This is the original file list($width, $height) = getimagesize($file) ; $modwidth = 130; $diff = $width / $modwidth; $modheight = 185; $tn = imagecreatetruecolor($modwidth, $modheight) ; $image = imagecreatefromjpeg($file) ; imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; imagejpeg($tn, $save, 70) ; echo "Large image: <img src='images/".$imagepath."'><br>"; echo "Thumbnail: <img src='images/sml_".$imagepath."'>"; } } ?>