Introducción

¿Alguna vez has necesitado mostrar una imagen y no has tenido ganas de andar buscando?
¿Quieres cargar imágenes sin tener que alojarlas en tu servidor, ni en servidores externos?
¿Necesitas mostrar imágenes de una manera dinámica?
Google una vez mas nos brinda la oportunidad de utilizar sus algoritmos y sus tecnologías de una manera muy sencilla, simplemente
con una petición al servicio de imágenes de Google nos devolverá un JSON con los resultados según los parámetros que le indiquemos.

Toda la documentación la podemos encontrar aquí Google Image Search.

Aquí vemos un ejemplo de como llamar al Servicio de Imágenes de Google
https://ajax.googleapis.com/ajax/services/search/images?v=1.0&as_filetype=png&imgsz=medium&rsz=1&q=casa

 

Parámetros o Argumentos

as_filetype: Indicamos el tipo de imagen que queremos, pudiendo indicar jpg, png, gif o bmp.

imgsz: Indicamos el tamaño de la imagen que queremos, pudiendo ser icon, small, medium, large ,xlarge, xxlarge y huge.

rsz: Indicando este parámetro le estamos diciendo cuantos resultados queremos que nos devuelva, puede estar entre 1–8.

q: Este es el parámetro donde indicamos el texto por el que queremos que nos busque las imágenes.

 

Uso en PHP

<?php 
  //Variable con la URL al servicio con los parámetros 
  $jsrc = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&as_filetype=png&imgsz=medium&rsz=1&q=MICROSOFT LOGO";
  //Recibimos el contenido JSON
  $json = file_get_contents($jsrc);
  //Descodificamos el JSON pasandolo a variables de PHP
  $jset = json_decode($json, true);
?>
<img src="<?php echo $jset["responseData"]["results"][0]["url"]; ?>" style='background-size: 100% auto; width:120px;'>

 

Ejemplo Practico

Código de PHP del archivo test_imagenaleatoria.php
<?php
//Este ejemplo devuelve una imagen png aleatoria según los segundos y minutos que sean.
header('Content-Type: image/png');
$jsrc = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&as_filetype=png&imgsz=icon&rsz=1&q=" . date("si");
$json = file_get_contents($jsrc);
$jset = json_decode($json, true);
echo file_get_contents($jset["responseData"]["results"][0]["url"]);
exit;
?>

 

Uso de test_imagenaleatoria.php en HTML
<img src="test_imagenaleatoria.php"/>

 

NOTA: Cada vez que recargues esta web la imagen sera diferente.

Resultado

Imagen de Ejemplo