Autor Tema: [TIP] Conozcamos a getimagesize()  (Leído 612 veces)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
[TIP] Conozcamos a getimagesize()
« en: 08 de Mayo de 2012, 14:48:51 pm »
Hola PHPeros,

Justamente estaba realizando un algoritmo para saber el ancho y alto de una imagen a esto que me picó la curiosidad de saber si en PHPeros había algún tutorial de como usar esta función y al parece no ser así por lo que me animo a hacer un tutorial de dicha función.


¿Como defino esta función?
Esta función solo necesita recibir un parámetro cual será el directorio donde está nuestra imagen. Veamos un ejemplo:

<?php
	
$miSrc "source/img/imagen.jpg";
	
$miDato getimagesize($miSrc);
?>

NOTA: Esta función permite tomar imagenes ajenas a nuestro servidor, tan solo cambiamos el valor de la variable $miSrc por la URL absoluta de la imagen nueva.

¿Que datos puedo obtener?
Con getimagesize() podemos obtener estos valores:
  • Ancho -> Por ejemplo: 560
  • Alto -> Por ejemplo: 60
  • Tipo imagen -> Por ejemplo: 3 (Ahora explico que es esto)
  • Artibutos -> Por ejemplo: width="560" height="60" (Aquí sale con HTML junto con ancho y alto incluidos)

¿Tipos de imagen?
Como se puede apreciar en el punto de arriba, en el tipo de imagen pongo un 3. Ahora bien, ¿Que es ese 3?. Bien, este número va asociado a un tipo de imagen por ejemplo GIF pero en este caso el número 3 va asociado con PNG. Os dejo una lista con los valores.
  • 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(orden de bytes intel), 8 = TIFF(orden de bytes motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM.

Pongamos en practica un ejemplo
Ahora que ya sabemos la teoría, es hora de poner los conocimientos en la práctica.
vamos a ver como con esta simple función podemos explotar todo lo característico de una imagen.


<?php
	
/* Ponemos una URL, en este caso eligo la URL de la imagen del logo de PHPeros */
	
$miSrc "http://www.phperos.net/foro/Themes/default/images/logo.png";
	
/* Explotamos la imagen y recogemos sus valores */
	
$miDato getimagesize($miSrc);
	
/* 
	
	
Este array o arreglo contiene los siguientes parametros:
	
	
	
0 -> Ancho
	
	
	
1 -> Alto
	
	
	
2 -> Tipo de la imagen 
	
	
	
3 -> Atributos juntos
	
*/
	

	

	
/* Se muestra en pantalla las caracteristicas de la imagen */
	
echo &
#39;<strong>URL imagen:</strong> &#39;.$miSrc.&#39;<br>
	
	
  <
strong>Ancho de la imagen:</strong> &#39;.$miDato[0].&#39;<br>
	
	
  <
strong>Alto de la imagen:</strong> &#39;.$miDato[1].&#39;<br>
	
	
  <
strong>Tipo de la imagen:</strong> &#39;.$miDato[2].&#39;<br>
	
	
  <
strong>Atributos juntos de la imagen:</strong> &#39;.$miDato[3].&#39;&#39;;
?>




Bueno, pues con esto queda concluido este tutorial. Ahora ya sabemos como obtener datos de la imagen a analizar, como veis es muy simple de hacer y puede llegar a ser muy práctico. Desde luego para mi lo es.

Podéis ver el ejemplo en funcionamiento aquí

Un saludo,
Siquillote.

#Fdo. Physlet

Comunidad PHPeros

[TIP] Conozcamos a getimagesize()
« en: 08 de Mayo de 2012, 14:48:51 pm »

Desconectado Atrix

  • PHPer@
  • **
  • Mensajes: 69
  • Karma: 2
  • Sexo: Masculino
  • Ah..?
    • Ver Perfil
Re:[TIP] Conozcamos a getimagesize()
« Respuesta #1 en: 08 de Mayo de 2012, 20:06:53 pm »
Excelente Siquillote, y curiosamente necesité esta función hace varios días pero no tenía el conocimiento de que podía saber qué tipo de imagen era.

Saludos.

Psdt: (enserio?, identifica los PSD? ._. Es algo medio rarito xD)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[TIP] Conozcamos a getimagesize()
« Respuesta #2 en: 08 de Mayo de 2012, 20:14:53 pm »

Hola Atrix,

Parece ser que si, es algo raro como bien dices ya que si vamos a www.misitioweb.com/mipsd.psd pues lo que haremos será bajarnos directamente el PSD. Supongo que para este tipo solo sirve para ver su información, para nada mas.

Un saludo,
Siquillote.

#Fdo. Physlet