PHP Dersleri

PHP İle Resim Bilgilerini Alma

PHP Programlama dilini kullanarak resim bilgilerini kolaylıkla alabilirsiniz. Resim bilgilerini almak için üç farklı fonksiyondan kullanılmaktadır. Bu fonksiyonları detaylandırarak nasıl bilgi verdiklerini inceleyelim.

  • Sadece genişlik ve yükseklik değerlerini almak için imagecreatefromjpeg() kullanılmaktadır.
  • Resim dosyası için genel bilgilere erişmek için getimagesize() kullanılmaktadır.
  • Resim dosyaları için diğer genel bilgileri veren fonksiyon ise exif_read_data()

imagecreatefromjpeg ile Resim Bilgilerini Alma

Bu fonksiyona resim dosyası iletildiğinde genişlik değeri için imagesx(), yükseklik değeri için imagesy() kullanılmaktadır.

<?php
$resim      = imagecreatefromjpeg("resim.jpg");
$genislik   = imagesx($resim);
$yukseklik  = imagesy($resim);
echo "Genişlik: ".$genislik;
echo "Yükseklik: ".$yukseklik;
?>

Fonksiyonların kullanımı sonrasında yükseklik ve genişlik değerleri döndürülecektir. Sonuç sayısal değer verilir. Sayısal değerin sonunda PX, CM gibi değerler eklenmez.

getimagesize İle Resim Bilgilerini Alma

Bu fonksiyonu kullanarak resim dosyası için bir çok özellikleri alabilirsiniz. Resim dosyasına ilişkin bilgiler dizi(array) olarak döndürülmektedir. Dönen değerler aşağıdaki gibi olacaktır.

  • [0] anahtarında Genişlik değeri px olarak döndürülecektir.
  • [1] anahtarında Yükseklik değeri px olarak döndürülecektir.
  • [2] anahtarında Tür değeri döndürülecektir. (uzantıya göre -> jpg: 2, png: 3.. gibi)
  • [3] anahtarında genişlik ve yükseklik değeri HTML etiketi içerisinde yazılı bir şekilde gelmektedir.
  • [bits] anahtarında resmin bit sayısı döndürülmektedir.
  • [channels] anahtarında resmin kanal bilgisi verilir. (rgb, cmyk gibi)
  • [mime] anahtarında resmin mime tip bilgisini verir (Örneğin: image/jpg)

Fonksiyondan dönen anahtarların hangi sonuçların verdiğini incelediğimize göre örnekte nasıl sonuç alınacağına bakalım.

<?php
$bilgiler = getimagesize('resim.jpg');
print_r($bilgiler);
?>

Fonksiyona resim dosyasını dahil ettikten sonra sonuç dizi olarak geleceği için print_r() fonksiyonu ile sonuçların hepsini listelendiriyoruz.

Array
(
    [0] => 250
    [1] => 500
    [2] => 2
    [3] => width="250" height="500"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)

Fonksiyondan doğan değerler yukarıdaki gibi dizi şeklinde olacaktır. Diziden dönen anahtarların karşılıklarını yukarıdaki maddelerde incelemiştik. Bu bilgiler doğrultusunda resim dosyasına ilişkin işlemlerinizi gerçekleştirebilirsiniz.

exif_read_data() İle Resim Bilgilerini Alma

Bu fonksiyonda resim dosyasına ait detaylı bilgileri dizi olarak vermektedir.

  • [FileName] anahtarı ile dosya adı döndürülmektedir.
  • [FileDateTime] anahtarı ile yüklenme zamanı döndürülmektedir.
  • [FileSize] anahtarı ile dosya boyutu döndürülür.
  • [FileType] anahtarı ile dosya türünü döndürülür.
  • [MimeType] anahtarı ile dosya mime bilgisini döndürülür.
  • [SectionsFound] anahtarı ile dosya genişlik ve yükseklik değerlerini döndürür.

Bu bilgiler doğrultusunda kullanımını inceleyelim.

<?php
$bilgiler = exif_read_data("resim.jpg");
print_r($bilgiler);
?>

Fonksiyona direkt bilgisini almak istediğimiz resim dosyasını belirtiyoruz. Sonuç ise yukarıdaki maddelerde belirtildiği gibi dizi şeklinde olacaktır.

Array
(
    [FileName] => resim.jpg
    [FileDateTime] => 1665095575
    [FileSize] => 6520
    [FileType] => 2
    [MimeType] => image/jpeg
    [SectionsFound] => 
    [COMPUTED] => Array
        (
            [html] => width="250" height="500"
            [Height] => 250
            [Width] => 500
            [IsColor] => 1
        )

)

Bu fonksiyonla birlikte resim dosyasına ait bilgilere detaylı bir şekilde ulaşabilirsiniz.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kapalı