Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X
Kenar

Resimleri Base 64 ile Encode etmek…

Şimdi nedir bu diyebilirsiniz...

Hemen bir örnek ile bahsedeyim;

Web sayfalarınızda resimleri :

HTML:
  1. <img src="resimkaynagi.jpg">

şeklinde gösteriyoruz genellikle hatta genellikle dememek gerek %99.9 şeklinde :)

Eğer web sayfalarımızda sabit olarak kullandığımız logo vs gibi sabit resimler için base64 ile encode edilmiş resimleri kullanabiliriz.

Bunu online işlem olarak buradan yapabilirsiniz.

Ayrıca kaynak koddan bakınca kargaşık kurgaşık kodlar görürsünüz.

Bu kullanımının dışında resimlerinizin kaynağınıda gizleyebilirsiniz.

PHP:
  1. <?
  2. //resmi fopen ile çağıralım
  3. $handle = fopen($resimadresi,'rb');
  4. $file_content = fread($handle,filesize($resimadresi));
  5. fclose($handle);
  6. $encoded = chunk_split(base64_encode($file_content));
  7.  
  8. //ehco ile resmimizi yazdıralım
  9.  
  10. echo '<img src="data:image/png;base64,'.$encoded.' ">';
  11. ?>

bunu denediğinizde ekranda resminizi göreceksiniz. Bu sizin kaynak koddan bakınca resminizin kaynağını yok eder :)

Bu üstteki php kodunun tam tersinide isterseniz, örneğin kaynak kodu belli resim var bunu nasıl resme dönüştüreceğiz derseniz;

AYRICA : Resimlerinizi bir klasörde saklamak yerine VERİTABANInda tutmak istersenizde bu sistemi kullanabilirsiniz aşağıdaki örnekte veritabanındaki base64 ile encode edilmiş veriyi resme dönüştürmede gösterilmiştir.

image.php:

PHP:
  1. <?
  2. header(" Content-Type: image/jpeg");
  3. header(" Content-Disposition: inline");
  4. $img = $_GET[img];
  5. $sql = "SELECT data FROM image where id='".$img."'";
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_row($result);
  8. $image = $row[0];
  9. ?>

Sayfada kullanımı:

HTML:
  1. <img src="image.php?img=112"  border="0" alt="">

Herşey göründüğü gibi basit sanırım ???

Follow us on Twitter
  • Merhaba, burdaki asıl amaç sadece resim adres yolunu gizlemekmidir? Eğer sadece gizlemekse bu kullanım resimlerin hem serverda hemde kullanıcının tarayıcısında yüklenme performansını ele aldığımızda bir düşüş veya artış sağlarmı? Bu konuda bilginiz veya yaptığınız herhangi bir test varmı?
    Teşekkürler

    trkygnclr

    14.07.2010

Leave a comment  

name*

email*

website

Submit comment