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?

Mostafa Elkady
la source

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.

Sarfraz
la source
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];
davethegr8
la source
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.

Mat
la source
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;
Julien
la source
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 .

Sampson
la source
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.

ronforever
la source