Los paso que podemos seguir son:
1- crear un directorio con las imágenes en nuestro servidor.
2- listar archivos del directorio filtrando formatos de imagen (PHP).
3- almacenar los nombres de los archivos en array (PHP).
4- llenar el elemento select con los nombres de las imágenes (PHP).
5- cambiar la imagen dinámicamente (DHTML)
- etc..
Esta es la función que use para conseguir los pasos 2 y 3.
// devuelve un array con las imagenes de un directorio dado function ListImg() { if ($handle = opendir(dirname(__FILE__).'/imagenes')) { while (false !== ($file = readdir($handle))) { $ListFormat = array('jpg','gif','png','jpeg'); $Format = explode('.',$file); if (in_array(strtolower(end($Format)),$ListFormat)) $FileList[]=$file; } closedir($handle); } sort($FileList); return $FileList; }
La llamamos almacenando los datos retornados en un array:
$NewList = ListImg();
Esta sencila función es la que se encarga del cambio de imagen dinámicamente:
<script language="javascript" type="text/javascript"> function AssignImg() { // obtenemos la referencia a los elementos requeridos var img = document.getElementById('img'); var sel = document.getElementById('selImg'); // cambiamos la imagen img.src = 'imagenes/' + sel.value; } </script>
Al cargar la página mostramos la primera imagen de la lista:
<img id='img' src="<?php echo 'imagenes/',$NewList[0]; ?>" />
y acá llenamos el elemento select con la lista de imágenes del directorio especificado:
<select id='selImg' onchange='AssignImg();'> <?php foreach ($NewList as $sImg) echo "<option value='$sImg'>$sImg</option>"; ?> </select>
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.