Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cuidado con los espacios en blanco al usar getimagesize: error failed to open stream

Imago voragine.net

La función getsizeimage de PHP devuelve una matriz con información sobre una imagen: sus dimensiones, el tipo de imagen… Muy útil para hacer redimensiones o saber si está dentro de los límites de tamaño que queremos manejar en nuestra página, por ejemplo. La tenemos que alimentar con la ruta hasta el archivo, incluyendo el nombre completo.

El uso básico es el siguiente:

$img_data = getimagesize($image);

Para usarla sólo hay que tener presente que el nombre del archivo de imagen tiene que ser una cadena sin espacios al principio o al final; de no ser así, PHP nos devolverá el siguiente error:

Warning: getimagesize(imagen.jpg ) [function.getimagesize]: failed to open stream: No such file or directory...

Con un poco de atención, algo que no he tenido los dos últimos días, se puede detectar que en el mensaje de error, dentro del paréntesis, tras el nombre de la imagen hay un espacio. Esto es lo que está provocando que no encuentre la imagen.

Para evitar que los espacios nos vuelvan locos podemos usar rtrim, que elimina espacios en blanco al principio y al final de una cadena antes de procesarla:

$img_data = getimagesize(rtrim($image));

Lo encontré buceando en el código de sitepoint.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks