Ciao a tutti.
Premetto che sono praticamente a digiuno di php ma mi sembra che sia il più adatto per realizzare ciò...
Vorrei creare una griglia di immagini e filmati Flash caricati random da una directory.
Un esempio di output potrebbe essere così:
<div id="grid">
<div id="clip_003">contenuto alternativo</div>
<script type="text/javascript">
var fo = new FlashObject("/swf/003.swf", "top", "150", "113", "6", "fff");
fo.write("clip_003");</script>
[img]data/003_ico.jpg[/img]
[img]data/005_ico.jpg[/img]
[img]data/001_ico.jpg[/img]
<div id="clip_007">contenuto alternativo</div>
<script type="text/javascript">
var fo = new FlashObject("/swf/007.swf", "top", "150", "113", "6", "fff");
fo.write("clip_007");</script>
<div id="clip_009">contenuto alternativo</div>
<script type="text/javascript">
var fo = new FlashObject("/swf/009.swf", "top", "150", "113", "6", "fff");
fo.write("clip_009");</script>
[img]data/003_ico.jpg[/img]
[img]data/004_ico.jpg[/img]
<div id="clip_004">contenuto alternativo</div>
<script type="text/javascript">
var fo = new FlashObject("/swf/004.swf", "top", "150", "113", "6", "fff");
fo.write("clip_004");</script>
<div id="clip_001">contenuto alternativo</div>
<script type="text/javascript">
var fo = new FlashObject("/swf/001.swf", "top", "150", "113", "6", "fff");
fo.write("clip_001");</script>
</div>
Ho trovato varie cose ma non riesco ad implementarle anche perchè non vorrei che i file caricati venissero duplicati; dovrebbe esserci quindi un controllo sulla directory poi penso si debba lavorare con gli array...
Questo com'è?
// array delle estensioni, sono maiuscole e minuscole perchè se sei su linux hanno significato // diverso
$estensioni = array('jpg', 'JPG', 'jpeg', 'JPEG', 'png', 'PNG');
$immagini = array();
// cerco e infilo tutte le immagini dell'estensioni fornite in un array
foreach($estensioni as $estensione) {
$immagini = array_merge(glob('path/*.'.$estensione), $immagini);
}
// elimino i duplicati che potrei aver trovato nel caso mi trovassi su win dove l'estensione
// maiuscola e minuscola hanno lo stesso significato.
$immagini = array_unique($immagini);
print_r($immagini); // questo è solo per debug per vedere quali e quante immagini hai estratto
// il percorso è assoluto, dovrai sostituire la document_root con il
// percorso http per poterle vedere via web
// funzione che passi ad array_map per modificare tutti gli elementi dell'array
function replace_percorso($str) {
return str_replace($_SERVER['DOCUMENT_ROOT'], 'http://www.tuosito.com/');
}
$immagini = array_map($immagini, "replace_percorso");
shuffle($immagini); // mischio il contenuto dell'array
echo $immagini[0]; // immagine random.
Può servire?
Se ci fosse qulacuno dotato di tempo e buona volontà...

Rispondi quotando