- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con galleria immagini
-
Problema con galleria immagini
Ciao a tutti,
ho messo in pista una galleria che gira bene, questa è la parte funzionante relativa alle thumbs (l'ho commentata per capire subito come è strutturata):
[php]<ul class="thumbs noscript">
<?
$cartella = $_REQUEST
; //restituisce il nome della cartella dove pescare le immagini$immagini = glob('immagini/progetti/thumb/'.$cartella.'/*.jpg'); //quali immagini controllare nella cartella (sono tutte jpg di default)
$numero_immagini= count($immagini); //conta il numero di immagini nella cartella
for ($i=1; $i<=$numero_immagini; $i++) { //cicla le immagini dalla 1 alla n
if ($i<=9) { echo "<li><a class='thumb' href='immagini/progetti/".$cartella."/".$cartella."_photo0".$i.".jpg'><img src='immagini/progetti/thumb/".$cartella."/".$cartella."_thumb0".$i.".jpg'/></a></li>";}
else if ($i>=10) { echo "<li><a class='thumb' href='immagini/progetti/".$cartella."/".$cartella."_photo".$i.".jpg'><img src='immagini/progetti/thumb/".$cartella."/".$cartella."_thumb".$i.".jpg'/></a></li>";}
//avendo nella cartella le immagini da 1 a 9 numerate con lo 0 davanti (01,02,..,0n) ho fatto in questo modo
};
?>
</ul>
[/php]Il mio problema è che a volte vengono cancellate delle immagini nella cartella, quindi nelle thumb mi vengono visualizzati al posto loro dei riquadri vuoti e non mi piace.
Per risolvere la cosa ho modificato il listato, ma adesso,dopo aver incontrato la prima immagine mancante, non mi visualizza più le thumb successive.:?Questo lo script incriminato:
[php]
<ul class="thumbs noscript"><?
$cartella = $_REQUEST
; //restituisce il nome della cartella dove pescare le immagini$immagini = glob('immagini/progetti/thumb/'.$cartella.'/*.jpg'); //quali immagini controllare nella cartella (sono tutte jpg di default)
$numero_immagini= count($immagini); //conta il numero di immagini nella cartella
for ($i=1; $i<=$numero_immagini; $i++) { //cicla le immagini dalla 1 alla n
if ($i<=9) {
$filename_singolacifra = 'immagini/progetti/thumb/'.$cartella.'/'.$cartella.'_thumb0'.$i.'.jpg'; //nome del file da controllare dove $i è ogni volta un valore da 1 a 9
if (file_exists($filename_singolacifra)) { ( //se il file a singola cifra da 1 a 9 esiste lo mostra altrimenti niente
echo "<li><a class='thumb' href='immagini/progetti/".$cartella."/".$cartella."_photo0".$i.".jpg'><img src='immagini/progetti/thumb/".$cartella."/".$cartella."_thumb0".$i.".jpg'/></a></li>";
} else {
//niente;
}
}else if ($i>=10) {
$filename_doppiacifra = 'immagini/progetti/thumb/'.$cartella.'/'.$cartella.'_thumb'.$i.'.jpg'; //nome del file da controllare dove $i è ogni volta un valore da 10 in poi
if (file_exists($filename_doppiacifra)) { //se il file a doppia cifra da 10 in poi esiste lo mostra altrimenti niente
echo "<li><a class='thumb' href='immagini/progetti/".$cartella."/".$cartella."_photo".$i.".jpg'><img src='immagini/progetti/thumb/".$cartella."/".$cartella."_thumb".$i.".jpg'/></a></li>";
} else {
//niente;
}
}};
?>
</ul>
[/php]
Grazie in anticipo a tutti voi