Obtenir la hauteur et la largeur de l'image sous forme de valeurs entières?


98

J'ai essayé d'utiliser la fonction PHP getimagesize , mais je n'ai pas pu extraire la largeur et la hauteur de l'image sous forme de valeur entière.

Comment puis-je atteindre cet objectif?

Réponses:


197

Essayez comme ceci:

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

Sois sûr que:

  1. Vous spécifiez le chemin d'image correct ici
  2. L'image a un accès en lecture
  3. Rép image Chmod vers 755

Essayez aussi de préfixer chemin avec $_SERVER["DOCUMENT_ROOT"], cela aide parfois lorsque vous n'êtes pas en mesure de lire les fichiers.


2
777 sur le répertoire n'est pas nécessaire.
poke le

@poke: êtes-vous vraiment sûr à 100%?
Sarfraz

5
Oui. 777 signifie le droit de lecture, d'écriture et d'exécution pour le propriétaire, le groupe et tout. Vous avez besoin de droits de lecture et d'exécution pour accéder à un répertoire, mais vous n'avez pas besoin de droits d'écriture; et vous n'avez pas non plus besoin de ce droit pour tout le monde. 755 devrait convenir à chaque accès où vous n'avez pas besoin de créer des fichiers à l'intérieur du répertoire.
poke le

1
Intéressant pour moi que vous ayez besoin des droits d'exécution sur le répertoire mais pas sur l'image elle-même (fonctionne avec l'image sur 644).
Lee Saxon

1
Vous devez activer allow_url_fopen pour pouvoir l'utiliser getimagesize()sur des images distantes.
VertigoRay

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

Ou,

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

13

getimagesize () renvoie un tableau contenant les propriétés de l'image.

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

pour simplement obtenir la largeur et la hauteur ou

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

pour obtenir plus d'informations.


7

Comme ça :

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;

Ne fonctionne pas getimagesize() expects parameter 1 to be string, resource givengetimagesize
:, la

6

PHP getimagesize()renvoie un tableau de données. Les deux premiers éléments du tableau sont les deux éléments qui vous intéressent: la largeur et la hauteur. Pour les obtenir, il vous suffit de demander les deux premiers index du tableau retourné:

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

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

Pour plus d'informations, consultez la documentation .


3

getimagesize('image.jpg') La fonction ne fonctionne que si elle allow_url_fopenest définie sur 1 ou On à l'intérieur du fichier php.ini sur le serveur, si elle n'est pas activée, il faut l'utiliser ini_set('allow_url_fopen',1); en haut du fichier où la fonction getimagesize () est utilisée.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.