12-01-2024 09:35
11-06-2024 11:18
16-05-2024 09:34
15-11-2023 14:51
Büyük boyutlu bir görüntünün bir web sayfasının yüklenmesi daha fazla zaman alır. Sayfa yükleme süresini etkilemeden büyük bir resim yüklemek istiyorsanız, boyutu küçültmek için resmin optimize edilmesi gerekir. Görüntü sıkıştırma, görüntünün boyutunu küçültmek için çok yararlıdır. Çoğu durumda, kullanıcı web sitesi aracılığıyla yüklerken görüntüyü optimize etmez. Görüntüleri sunucuya yüklemeden önce sıkıştırmak ve dosya boyutunu optimize etmek her zaman iyi bir fikirdir.
Yüklemeden önce görüntüyü sıkıştırın ve optimize edin, PHP kullanılarak kolayca uygulanabilir. Görüntü sıkıştırma işlevinde, yüklemeden önce dosya boyutu küçültülür. Sıkıştırılmış görüntü, sunucunun depolama kullanımının azaltılmasına ve web sayfasının daha hızlı yüklenmesine yardımcı olur. PHP kullanarak yüklemeden önce görüntüyü nasıl sıkıştıracağınızı göstereceğiz .
Dosya giriş alanı ve gönder düğmesi olan bir HTML formu oluşturun. < form > etiketinin aşağıdaki öznitelikleri içerdiğinden emin olun .
method="post"
enctype="multipart/form-data"
HTML FORM
<form action="upload.php" method="post" enctype="multipart/form-data"> <label>Select Image File:</label> <input type="file" name="image"> <input type="submit" name="submit" value="Upload"> </form>
upload.phpForm gönderiminden sonra, dosya verileri daha fazla işlenmek üzere dosyaya gönderilir .
upload.php
Dosya upload.php, görüntü sıkıştırma ve karşıya yükleme işlemlerini gerçekleştirir.
compresImage (), PHP kullanarak sunucuda görüntüyü sıkıştırmaya ve kaydetmeye yardımcı olan özel bir işlevdir. Bu işlev aşağıdaki parametreleri kabul eder ve sıkıştırılmış görüntüyü döndürür.
$source
$destination
$quality
<?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; }
convert_filesize (), dosya boyutunu insan tarafından okunabilir bir biçime dönüştürmek için kullanılan özel bir işlevdir. Bu işlev aşağıdaki parametreleri kabul eder ve boyutu KB/MB/GB/TB/vb cinsinden döndürür.
$bytes
$decimals
function convert_filesize($bytes, $decimals = 2) { $size = array('B','KB','MB','GB','TB','PB','EB','ZB','YB'); $factor = floor((strlen($bytes) - 1) / 3); return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$size[$factor]; }
Bir dosya gönderildiğinde:
compressImage()
convert_filesize()
// File upload path $uploadPath = "uploads/"; $statusMsg = ''; $status = 'danger'; // If file upload form is submitted if(isset($_POST["submit"])){ // Check whether user inputs are empty 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 and size $imageTemp = $_FILES["image"]["tmp_name"]; $imageSize = convert_filesize($_FILES["image"]["size"]); // Compress size and upload image $compressedImage = compressImage($imageTemp, $imageUploadPath, 75); if($compressedImage){ $compressedImageSize = filesize($compressedImage); $compressedImageSize = convert_filesize($compressedImageSize); $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.'; } }
Yüklenen görüntüyü ve optimize edilmiş dosya boyutu bilgisini görüntüleyin.
<!-- Status message --> <?php echo $statusMsg; ?> <?php if(!empty($compressedImage)){ ?> <p><b>Original Image Size:</b> <?php echo $imageSize; ?></p> <p><b>Compressed Image Size:</b> <?php echo $compressedImageSize; ?></p> <img src="<?php echo $compressedImage; ?>"/> <?php } ?>
Genellikle, PHP'de dosya yüklemek için move_uploaded_file() işlevi kullanılır . Ancak yüklemeden önce görüntüyü sıkıştırmak isterseniz, özel PHP işlevimiz ( compressImage()) çok kullanışlıdır. Örnek kod, görüntü dosyasını herhangi bir sıkıştırma kitaplığı kullanmadan sıkıştırmanıza yardımcı olur . Sıkıştırma komut dosyamızla, farklı türde görüntü dosyalarını (JPG, JPEG, PNG ve GIF) sıkıştırabilirsiniz.
Kendi özelleştirilmiş stilini belirle
Uygulamanız için mükemmel renk modunu seçin.
Dil yönünüzü değiştirin
Tam ekran modu aç/kapat
Web sitesi için uygun bir menü sistemi seçin