Sunucu Tabanlı Resim Boyutlandırma
Aynı resmin küçük ve büyük görüntüsünü kaydetmenize gerek yok.
Fotoğraf galerilerinde bütün fotoğrafların büyük hallerini yüklemek gereksiz yere veri trafiğine yol açar ve sayfa yüklenmesini yavaşlatır. Bu duruma çözüm olarak fotoğrafların küçültülmüş şekilleri kaydedilir. Ve galeride bu fotoğraflar yer alır. Her fotoğrafa büyük halininin bulunduğu adres bağlantı olarak verilir. Böylece resim dosya boyutlarının küçük olmasından dolayı sayfa yükleme hızı artar ve kullanıcı sadece izlemek istediği fotoğrafı indirir.
Her fotoğrafın küçültülmüş şeklini (thumbnail) kaydetme fikri mantıklı olmasına rağmen çok zaman alacaktır. Bu yazımda fotoğrafın küçük boyutunu kaydetmek yerine sunucu bilgisayarda küçültmeyi anlatacağım.
Neler Gerekli?
- PHP destekli bir sunucu.
Kurulum:
Aşağıdaki dosyaları sitenizin ana dizinine kopyalayın.
- resimboyutla.class.php
- resimboyutla.php
Kullanım:
Küçük resmi kullanacağınız yerde resim için aşağıdaki kodu kullanın:
<img src="resimboyutla.php?resim=Resim.jpg&en=24&boy=24" />
Resmi büyük haline link verecek şekilde kullanmak isterseniz:
<a href="Resim.jpg"><img src="resimboyutla.php?resim=Resim.jpg&en=24&boy=24" /></a>
Adresdeki resim, en ve boy değişlenlerini ihtiyacınıza göre değiştirin.
Böylelikle resimleriniz sunucu bilgisayarda küçültülecek ve kullanıcılar bu küçük dosyaları görecektir. Aynı zamanda sitenin yüklenme hızı da artacaktır.
Gerekli dosyaları indirmek için tıklayın.
Hızlı cevabınız için teşekkür ederim. Bu boyutlandırmayı sabit oranlarla yapma zorunluluğum var. En/boy oranı dikkate alınarak yapılan boyutlandırmaların hızlı olduğu fakat en/boy oranı sabitlendiğinde 3mblık resim varsa bu uygulamalar çalışırken 3mbında dolması gerektiğinden bahsedilmiş biryerde. Bu yüzden sabit boyutlandırmalarda bu işlemi yükleme esnasında yapmanın faydalarından bahsetmişler. Bu konuda ne söyleyebilirsiniz. Uygulamanızda da bu 3mblık dosya için uzun süre beklemek gerekir mi?
Sunucu tabanlı boyutlandırmayı büyük dosyalar kullanırsanız resmin yüklenmesi yavaş olacaktır. Örneğin 3 MB'lık bir resmin yeniden boyutlandırılması belirli bir süre alacaktır. Böyle durumlarda resmi bilgisayarda küçültüp yüklemek daha avantajlı olur.
Ayrıca büyük resimlerin boyutlarındırılması sunucu bilgisayarda yoğunluğa neden olacaktır.
uygulamanızda problem var. en düzgün çalışırken boy çalışmıyor...
Resimlerin kalitesini bozmamak için en/boy oranı dikkate alınarak yeniden boyutlandırma yapılıyor. Bu özelliğini kapatmak isterseniz "resimboyutla.php" dosyasındaki aşağdaki true değerini false yapın.
$resize_image->ratio = true;