¿Obtener la altura y el ancho de la imagen como valores enteros?

98

Intenté usar la función de PHP getimagesize , pero no pude extraer el ancho y la altura de la imagen como un valor entero.

¿Cómo puedo conseguir esto?

Mostafa Elkady
fuente

Respuestas:

197

Intente así:

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

Asegúrate de eso:

  1. Usted especifica la ruta de la imagen correcta allí
  2. La imagen tiene acceso de lectura
  3. Dir de imagen chmod a 755

También intente prefijar la ruta con $_SERVER["DOCUMENT_ROOT"], esto ayuda a veces cuando no puede leer archivos.

Sarfraz
fuente
2
777 en el directorio no es necesario.
introduzca
@poke: ¿estás realmente 100% seguro?
Sarfraz
5
Si. 777 significa leer, escribir y ejecutar correctamente para el propietario, el grupo y todo. Necesita leer y ejecutar correctamente para acceder a un directorio, pero no necesita escribir correctamente; y tampoco necesitas ese derecho para todos. 755 debería estar bien para cada acceso en el que no necesite crear archivos dentro del directorio.
empuje
1
Es interesante para mí que necesita ejecutar derechos en el directorio pero no en la imagen en sí (funciona con la imagen en 644).
Lee Saxon
1
Necesita allow_url_fopen activado para poder usar getimagesize()en imágenes remotas.
VertigoRay
63
list($width, $height) = getimagesize($filename)

O,

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

getimagesize () devuelve una matriz que contiene las propiedades de la imagen.

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

para obtener el ancho y la altura o

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

para obtener más información.

Mate
fuente
7

Me gusta esto :

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
fuente
No funciona:, la getimagesize() expects parameter 1 to be string, resource givenfunción getimagesizeespera el nombre de archivo
lopisan
6

PHP getimagesize()devuelve una matriz de datos. Los dos primeros elementos de la matriz son los dos elementos que le interesan: el ancho y el alto. Para obtenerlos, simplemente solicitaría los dos primeros índices de la matriz devuelta:

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

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

Para obtener más información, consulte la documentación .

Sampson
fuente
3

getimagesize('image.jpg') La función funciona solo si allow_url_fopense establece en 1 o On dentro del archivo php.ini en el servidor, si no está habilitada, se debe usar ini_set('allow_url_fopen',1); en la parte superior del archivo donde se usa la función getimagesize ().

ronforever
fuente