Görüntü Yüksekliği ve Genişliği tam sayı değerleri olarak alınsın mı?


98

PHP fonksiyonu getimagesize kullanmayı denedim , ancak resim genişliğini ve yüksekliğini bir tamsayı değeri olarak çıkaramadım.

Bunu nasıl başarabilirim?

Yanıtlar:


197

Şöyle dene:

list($width, $height) = getimagesize('path_to_image');

Emin olun:

  1. Orada doğru görüntü yolunu belirtirsiniz
  2. Resmin okuma erişimi var
  3. Chmod görüntüsü dir: 755

Ayrıca $_SERVER["DOCUMENT_ROOT"], yolu önek olarak kullanmayı deneyin , bu bazen dosyaları okuyamadığınızda yardımcı olur.


2
Dizinde 777 gerekli değildir.
sokmak

@poke: gerçekten% 100 emin misin?
Sarfraz

5
Evet. 777, sahip, grup ve herkes için okuma, yazma ve yürütme hakkı anlamına gelir. Bir dizine erişmek için okuma ve yürütme hakkına ihtiyacınız var, ancak doğru yazma yapmanız gerekmez; ve aynı zamanda herkes için buna ihtiyacınız yok. 755, dizinin içinde dosya oluşturmanız gerekmeyen her erişim için uygun olmalıdır.
sokmak

1
Bana ilginç gelen, dizin üzerinde yürütme haklarına ihtiyacınız var, ancak görüntünün kendisi değil (644'teki görüntü ile çalışır).
Lee Saxon

1
Uzak görüntülerde kullanabilmek için allow_url_fopen özelliğini açmanız gerekir getimagesize().
VertigoRay

64
list($width, $height) = getimagesize($filename)

Veya,

$data = getimagesize($filename);
$width = $data[0];
$height = $data[1];

13

getimagesize (), görüntü özelliklerini içeren bir dizi döndürür.

list($width, $height) = getimagesize("path/to/image.jpg");

sadece genişliği ve yüksekliği elde etmek için veya

list($width, $height, $type, $attr)

biraz daha bilgi almak için.


7

Bunun gibi :

imageCreateFromPNG($var);
//I don't know where from you get your image, here it's in the png case
// and then :
list($width, $height) = getimagesize($image);
echo $width;
echo $height;

Çalışmayın:, getimagesize() expects parameter 1 to be string, resource givenişlev getimagesizedosya adı bekliyor
lopisan

6

PHP getimagesize()bir dizi veri döndürür. Dizideki ilk iki öğe, ilgilendiğiniz iki öğedir: genişlik ve yükseklik. Bunları elde etmek için, döndürülen dizideki ilk iki dizini istemeniz yeterlidir:

var $imagedata = getimagesize("someimage.jpg");

print "Image width  is: " . $imagedata[0];
print "Image height is: " . $imagedata[1];

Daha fazla bilgi için belgelere bakın .


3

getimagesize('image.jpg') işlevi yalnızca allow_url_fopensunucuda php.ini dosyası içinde 1 veya Açık olarak ayarlandıysa çalışır , etkin değilse, ini_set('allow_url_fopen',1); getimagesize () işlevinin kullanıldığı dosyanın üstünde kullanılması gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.