Bildhöhe und -breite als ganzzahlige Werte abrufen?


97

Ich habe versucht, die PHP-Funktion getimagesize zu verwenden , konnte jedoch die Bildbreite und -höhe nicht als ganzzahligen Wert extrahieren.

Wie kann ich das erreichen?

Antworten:


196

Versuchen Sie es so:

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

Stelle sicher das:

  1. Dort geben Sie den richtigen Bildpfad an
  2. Das Bild hat Lesezugriff
  3. Chmod Bildverzeichnis auf 755

Versuchen Sie auch, den Pfad mit einem Präfix zu versehen $_SERVER["DOCUMENT_ROOT"]. Dies hilft manchmal, wenn Sie keine Dateien lesen können.


2
777 im Verzeichnis wird nicht benötigt.
Poke

@poke: bist du dir wirklich 100% sicher?
Sarfraz

5
Ja. 777 bedeutet Lese-, Schreib- und Ausführungsrecht für Eigentümer, Gruppe und alle. Sie benötigen Lese- und Ausführungsrechte, um auf ein Verzeichnis zugreifen zu können, aber Sie benötigen keine Schreibrechte. und das braucht man auch nicht für alle. 755 sollte für jeden Zugriff geeignet sein, bei dem Sie keine Dateien im Verzeichnis erstellen müssen.
stupsen

1
Interessant für mich, dass Sie Ausführungsrechte für das Verzeichnis benötigen, aber nicht für das Image selbst (funktioniert mit dem Image auf 644).
Lee Saxon

1
Sie müssen allow_url_fopen aktiviert haben , um getimagesize()Remote-Images verwenden zu können.
VertigoRay

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

Oder,

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

13

getimagesize () gibt ein Array zurück, das die Bildeigenschaften enthält.

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

um nur die Breite und Höhe zu bekommen oder

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

um weitere Informationen zu erhalten.


7

So was :

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;

getimagesize() expects parameter 1 to be string, resource givenFunktioniert nicht : , Funktion getimagesizeerwartet Dateiname
Lopisan

6

PHPs geben getimagesize()ein Array von Daten zurück. Die ersten beiden Elemente im Array sind die beiden Elemente, an denen Sie interessiert sind: Breite und Höhe. Um diese zu erhalten, fordern Sie einfach die ersten beiden Indizes im zurückgegebenen Array an:

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

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

Weitere Informationen finden Sie in der Dokumentation .


3

getimagesize('image.jpg') Die Funktion funktioniert nur allow_url_fopen, wenn sie in der Datei php.ini auf dem Server auf 1 oder On gesetzt ist. Wenn sie nicht aktiviert ist, sollte sie ini_set('allow_url_fopen',1); über der Datei verwendet werden, in der die Funktion getimagesize () verwendet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.