La clase es esta:
Código PHP:
class ImagenAleatoria {
private $directorio;
private $archivos = array();
private $extensiones = array("jpg", "jpeg", "gif", "png");
function __construct($directorio) {
if(is_dir($directorio)) {
$this->directorio = $directorio;
$this->leerDirectorio();
}
else
die("Debe pasarse el nombre de un directorio");
}
public function obtenerImagen() {
$cantArchivos = count($this->archivos);
$aleatorio = rand(0, $cantArchivos);
print_r($archivos);
return ($directorio."/".$archivos[$aleatorio]);
}
protected function leerDirectorio() {
$d = opendir($this->directorio) or die("No se pudo abrir el directorio");
$archivo = 0;
while (($f = readdir($d)) != false) {
if (is_file($this->directorio."/".$f)) {
$extencion = substr($f, (strpos($f, ".") + 1));
$extencion = strtolower($extencion);
if (in_array($extencion, $this->extensiones)) {
$this->archivos[$archivo] = $f;
$archivo++;
}
}
}
closedir($d);
}
}
Código PHP:
$IAleatoria = new ImagenAleatoria("directorio");
echo "<img src=\"".$IAleatoria->obtenerImagen()."\" />";
Ah, y si quieren tambien pueden criticar el diseño de la clase y dar ideas sobre como mejorarlo.
Muchas gracias