E' senz'altro possibile, ci sono diversi modi per farlo.
Il piu' immediato e' passare il valore tramite query string nella URL, tipo
codice:
index.php?gallery=images1
in questo caso dentro index.php potrai accedere al valore tramite l'array superglobale $_GET in questo modo:
codice:
$gallery = $_GET['gallery'];
Naturalmente visto che nell'URL un utente puo' scrivere quello che vuole, e' buona norma (dove per buona norma intendo obbligatorio) controllare cosa viene passato e non usarlo direttamente per evitare che si possa accedere a risorse riservate. Il sistema migliore in questo caso e' definire una white list di directory accettate come valide e procedere all'inclusione delle immagini solo se il controllo e' veriicato. Esempio:
Codice PHP:
<?php
$allowed = array(
'images',
'images1',
'images2',
// ....
);
$gallery = $_GET['gallery'];
if ( !in_array($gallery, $allowed) ) {
// la richiesta non appartiene alle directory autorizzate
// mostra una pagina di default, un messaggio di errore
// o quello che vuoi
} else {
// esegui il codice riportato sopra usando la variabile
// $gallery al posto di $dir
}
Ovviamente il tutto si puo' raffinare in mille modi, a seconda delle esigenze.
Riguardo il codice postato da clasku, chiaramente funziona, ma io sconsiglio di mischiare codice PHP e markup se non per lo stretto indispensabile (strutture condizionali e cicli per gestire l'output, cioe' quello che fa un qualsiasi sistema di templating). Separare il calcolo/preparazione dei dati dalla loro visualizzazione rende molto piu' chiaro sia il codice che il markup, e rende MOLTO piu' semplici eventuali future modifiche, che potranno andare a toccare una sola delle due parti. Anche se il caso in questione e' molto semplice meglio abituarsi da subito, e' davvero una cosa che fa TANTA differenza.