Aiuto Lettura immagini da una cartella e visualiz. solo due

gasparroa

Utente Attivo
4 Dic 2008
57
0
0
Ciao

vorrei fare una script che mi legge tutte le img presenti in una cartella e ne visualizza solo 2 img random

Chi mi puo dare una mano

ho copiato questo file da php.net

<?php
$desired_extension = 'png'||'jpg'||'gif'; //extension we're looking for
$dirname = "img/galleria";
$dir = opendir($dirname);

while(false != ($file = readdir($dir)))
{
if(($file != ".") and ($file != ".."))
{
$fileChunks = explode(".", $file);
if($fileChunks[1] == $desired_extension) //interested in second chunk only
{
?>
<img src="<?php echo $dirname."/".$file ?>" alt="" width="100">
<?php
}
}
}
closedir($dir);
?>


dove visualizzo l'immagine dovrei inserire una funzione tipo questa riadattata

<?php
// inizializzo il generatore di numeri casuali
srand((float) microtime() * 10000000);

// definisco la array su cuii lavorare
$miaarray = array('$file');

// recupero elementi casuali con array_rand
// salvo il risultato all'interno di una nuova array contenente gli indici estratti
$chiavi = array_rand($miaarray, 2);

// stampo a video
?>
<img src="img/<?php echo $miaarray[$chiavi[0]] ?>" alt="" width="130"><br /><br />
<img src="img/<?php echo $miaarray[$chiavi[1]] ?>" alt="" width="130">
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
se non funzia non mandarmi....:D
comunque controlla le chiusure delle graffe ec... che l'ho fatto di corsa
(poi spera in qualcuno più esperto di me)

PHP:
<?php
$desired_extension = 'png'||'jpg'||'gif'; //extension we're looking for 
$dirname = "img/galleria"; 
$dir = opendir($dirname); 

$conta_imm=0; //contatore delle immagini
$nome_immagine=array();//array con i nomi delle immagini

while(false != ($file = readdir($dir))) 
{ 
if(($file != ".") and ($file != "..")) 
{ 
$fileChunks = explode(".", $file); 
if($fileChunks[1] == $desired_extension) //interested in second chunk only 
{ 
$conta_imm++; //parto da uno perche più comodo ed incremento ad ogni giro
$nome_immagine[$conta_imm]=$dirname."/".$file; 
//elimino questa parte

//fine eliminata
} 
} 
} 
closedir($dir);
/* in $nome_immagine[1] nome prima immagine e così via...... */
$numero_random=2;//quante immagini random vuoi

if ($conta_imm==0){//verifico se ci sono immagini
echo "non ci sono immagini";

}elseif($conta_imm<=$numero_random){//ci sono meno immagini di quelle che vuoi randomizzare
// qui all'interno puoi fare un ciclo che ti visualizza tutte le immagini

}else{//finalmente posso estrarre le random
for($k=1; $k <=$numero_random; $k++){//ciclo da 1 a quante immagini random vuoi
$random= rand(1,$conta_imm);// genera un numero casuale da 1 al numero di foto che hai

echo "<img src=\"$nome_immagine[$random]\">";

}//fine for random

} //fine if ci sono immagini

?>
credo di aver messo abbastanza commenti per capire
 
Ultima modifica: