GD ve Resim İşlevleri
PHP Manual

getimagesize

(PHP 4, PHP 5)

getimagesizeBir resmin boyutlarını döndürür

Açıklama

array getimagesize ( string $dosyaismi [, array &$ekbilgi ] )

getimagesize() işlevi dosya ismiyle belirtilen resmin boyutlarını saptar ve resmin boyutlarından başka resim dosyası biçemini, HTML IMG etiketinin öznitelikleri olarak yükseklik ve genişliği ve resme ilişkin HTTP içerik türünü bir dizi içinde döndürür.

getimagesize() işlevi ayrıca, ekbilgi değiştirgesinde bazı ek bilgiler döndürebilir.

Bilginize: JPC ve JP2 farklı bit derinliğinde bileşenler içerebilirler. Bu durumda, "bits" değeri saptanan en büyük bit derinliğidir. Ayrıca JP2 dosyaları çok sayıda JPEG 2000 kod akımı içerebilir. Bu durumda, getimagesize() işlevi, dosyanın başlığında saptadığı ilk kod akımının değerleriyle döner.

Bilginize: Simge (icon) resimleri hakkında bilgi en yüksek bit derinliğine sahip simgeden elde edilir.

Değiştirgeler

dosyaismi

Hakkında bilgi döndürülecek resmi içeren dosyanın yolu. Burada bir yerel dosya belirtilebileceği gibi (yapılandırma izin veriyorsa) desteklenen akımlardan biri kullanılarak uzak bir dosya da belirtilebilir.

bilgi

İsteğe bağlı bu değiştirge ile resim dosyası hakkında bazı ek bilgiler edinilebilir. Şimdilik, bir ilişkisel dizi olarak farklı JPG APP imleyicileri döndürülmektedir. Bazı programlar bu APP imleyicilerini resme metin bilgisini gömmek için kullanırlar. En çok uygulananı APP13 imleyicisindeki » IPTC bilgisini gömmektir. İkil APP13 imleyicisini okunabilir hale dönüştürebilmek için iptcparse() işlevini kullanabilirsiniz.

Dönen Değerler

7 Elemanlı bir dizi ile döner.

0 ve 1 indisleri sırayla resmin genişliğini ve yüksekliğini içerir.

Bilginize:

Bazı biçemler hiç resim içermeyeceği gibi bazıları da birden fazla resim içerebilir. Bu gibi durumlarda, getimagesize() resim boyutlarını doğru olarak saptayamayabilir ve bu durumda boyutları 0 olarak döndürür.

2 indisinde resmin türünü belirtmek üzere IMAGETYPE_XXX sabitlerinden biri bulunur.

3 indisinde doğrudan IMG etiketinin öznitelikleri olarak kullanılabilecek şekilde, height="yyy" width="xxx" dizgesi bulunur.

mime indisinde resmin MIME türü bulunur. Bu dizge HTTP Content-type başlığında kullanılır:

Örnek 1 - getimagesize() ve MIME türleri

<?php
$boyutlar 
getimagesize($filename);
$dt fopen($filename"rb");
if (
$boyutlar && $dt) {
    
header("Content-type: {$boyutlar['mime']}");
    
fpassthru($dt);
    exit;
} else {
    
// hata
}
?>

channels indisinde RGB resimler için 3, CMYK resimler için 4 değeri bulunur.

bits indisinde renk bit sayısı bulunur.

Bazı resim türleri için channels ve bits değerlerinin varlığı biraz kafa karıştırıcıdır. Örneğin, GIF daima piksel başına 3 kanal kullanır fakat genel bir renk tablosuna sahip canlandırmalı bir GIF için piksel başına bit sayısı hesaplanamaz.

Başarısızlık halinde FALSE döner.

Hatalar/İstisnalar

dosyaismi resmine erişmek imkansızsa veya resim geçersizse getimagesize() E_WARNING seviyesinde bir hata üretir. Okuma hatasında ise E_NOTICE seviyesinde bir hata üretir.

Sürüm Bilgisi

Sürüm: Açıklama
5.3.0 Simge (icon) desteği eklendi.
5.2.3 İşlev tarafından üretilen okuma hatalarının seviyesi E_WARNING'ten E_NOTICE indirgendi.
4.3.2 JPC, JP2, JPX, JB2, XBM ve WBMP için destek eklendi.
4.3.2 ekbilgi değiştirgesi için JPEG 2000 desteği eklendi.
4.3.0 bits ve channels indisleri diğer resimler için de kullanılır oldu.
4.3.0 mime indisi eklendi.
4.3.0 SWC ve IFF desteği eklendi.
4.2.0 TIFF desteği eklendi.
4.0.6 BMP ve PSD desteği eklendi.
4.0.5 URL desteği eklendi.

Örnekler

Örnek 2 - >getimagesize() dosya örneği

<?php
list($width$height$type$attr) = getimagesize("img/flag.jpg");
echo 
"<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() örneği\" />";
?>

Örnek 3 - getimagesize (URL)

<?php
$size 
getimagesize("http://www.example.com/gifs/logo.gif");

// Dosya ismi boşluk karakteri içeriyorsa düzgün şekilde kodlamak gerekir
$size getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Örnek 4 - IPTC döndüren getimagesize() örneği

<?php
$size 
getimagesize("testimg.jpg"$info);
if (isset(
$info["APP13"])) {
    
$iptc iptcparse($info["APP13"]);
    
var_dump($iptc);
}
?>

Notlar

Bilginize:

Bu işlev için GD resim kütüphanesi gerekli değildir.

Ayrıca Bakınız


GD ve Resim İşlevleri
PHP Manual