Ciao a tutti, ho un bisogno di un aiuto in PHP (conosco un po' l'HTML ma purtroppo niente di PHP).
Il problema è questo: il mio sito fornisce informazioni in merito ad un'asta di francobolli. Io ho una cartella dove stanno le foto di questi francobolli (circa 5.000). Ogni file immagine ha come nome il numero del lotto a cui si riferisce.
Io vorrei fare una finestrella "pubblicitaria" (un IFRAME andrebbe bene) nell'home page che ogni tot secondi o, al limite, ad ogni refresh di pagina mi mostra random una di queste foto per dare un'idea al navigatore dei lotti proposti in asta. Tra l'altro c'è il problema che non tutti i lotti sono fotografati e quindi lo script dovrebbe scegliere solo un file realmente esistente.
Ho trovato questo script php di Dennis ma purtroppo mi carica solo file con nomi alfanumerici:
<?
/ ****************************************
****************************************
*
*
* Applicazione "Carica immagine a caso da una cartella"
*
* autore : Danilo "Dennis" Pederiva - pederiva_d@hotmail.com
* data : 01/09/2003
*
/ ****************************************
****************************************
*/
//*************** Variabili da settare ***************//
//Percorso relativo della cartella contenente le immagini
$cartella="script/files/";
//Array di tutte le estensioni valide che si vogliono caricare (bmp,gif,jpg,png)
$estensioni=array('gif','jpg','bmp');
// ****************************************
***********//
$dir=opendir($cartella) or die("Attenzione, impossibile aprire la cartella ".$cartella);
$immagini=array();
$misure=array();
while(false !== ($file=readdir($dir))) {
for($i=0;$i<count($estensioni);$i++){
$estensione=substr($file,(strlen($fil
e)-3),strlen($file));
if(in_array($estensione,$estensioni))
{
$immagini[]=$file;
$misure[]=getimagesize($cartella.$file);
}
}
}
if(count($immagini)==0) die("Attenzione, la cartella indicata non contiene immagini compatibili con le estensioni inserite.
Provare a controllare l'esattezza delle estensioni e della directory indicata nella variabile 'cartella'");
$indice=rand(0,(count($immagini)-1));
print "L'immagine ".$immagini[$indice]." è stata caricata a caso. Prova ad aggiornare la pagina.
";
print '[img]'.$cartella.$immagini[$indice].'[/img]';
?>
Mentre questo altro script php che ho trovato in giro mi carica files numerici ma non c'è il controllo che il file effettivamente esista e quindi ogni tanto compare l'odiosa x rossa di immagine mancante:
<?
$foto = "6000"; // numero di immagini che vuoi mostrare -> conta anche lo 0
$ext = "jpg"; //estensione delle immagini
//selezione un'immagine a caso
mt_srand((double)microtime()*1000000);
$FotoCasuale = mt_rand(0,$foto);
if ($FotoCasuale == "0") {
$FotoCasuale = "1";
}
echo "<center><img src=\"$FotoCasuale.$ext\" alt=\"#$FotoCasuale\">";
?>
In più entrambi funzionano solo al refresh (ma al limite questo come già detto me lo faccio andare bene) della pagina e non ogni tot secondi come mi piacerebbe.
Forza ragazzi, senza di voi non ce la posso proprio fare...
Ciao Ciao
JD