In PHP è semplice ottenere un elenco di tutte le immagini presenti sotto una data directory.
La seguente funzione esamina ricorsivamente la struttura di una directory di partenza e restituisce un array di percorsi relativi alle immagini ordinato secondo la data di modifica delle singole immagini.
function get_images($dir) {
$path = $_SERVER['DOCUMENT_ROOT'] . '/' . $dir;
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
$images = array_filter(iterator_to_array($iterator), function($file) {
return $file->isFile();
});
$image_srcs = array_keys($images);
$output = [];
foreach($image_srcs as $src) {
if(preg_match('/\.(jpg|jpeg|png)$/', $src)) {
$src_path = str_replace($_SERVER['DOCUMENT_ROOT'] . '/', '', $src);
$output[filemtime($src)] = $src_path;
}
}
ksort($output);
return array_reverse($output);
}