Mailing List del Fortunae LUG ============================= prima tutto il sorgente, poi il sorgente commentato <? include 'include/head.xhtml'; ?> <!-- Begin of the Body --> <h2>Eventi organizzati dal LUG</h2> Gli eventi che organizza o a cui partecipa il Fortunae LUG <hr /> <? $i=0; $handle=opendir("eventi"); while ($file = readdir ($handle)) { if ($file != "." && $file != "..") { $files[$i] = $file; echo "<a href=\"eventi.php?id=$i\">$file</a> <br />"; $i ++; } } closedir($handle); echo "<hr />"; for($a=0; $a<count($files); $a++) { if ($id == "") { echo "<br />"; } elseif ($id == $a) { $i=0; $handle=opendir("./eventi/$files[$id]"); while ($dir = readdir ($handle)) { if ($dir != "." && $dir != "..") { $roba[$i] = $dir; echo "<a href=\"eventi/$files[$id]/$roba[$i]\">$roba[$i]</a> <br />"; $i ++; } } closedir($handle); } } ?> <!-- End of the Body --> <? include 'include/foot.xhtml'; ?> -------------------------------------------------- //premessa: abbiamo una dir chiamata eventi con dentro //altre dir con delle foto, lo script in pratica da un //elenco col nome delle dir, clickando su una, sotto //apre un menu` coi link alle foto dentro la dir //chiaro no? //in pratica aggiungendo nell`ftp una dir nuova con //delle foto nuove, il menu` si aggiorna da solo //bisogna solo aver l`accortezza di chiamare la dir //col nome dell`evento, senza gli spazi //cioe`... con gli spazi non ci ho provato, non c`ho voglia //poi magari sto idiota si mette a scrivere %20 al posto //degli spazi e diventa brutto //il risultato dovrebbe essere visibile sul sito del lug //fra poco <? include 'include/head.xhtml'; ?> <!-- Begin of the Body --> <h2>Eventi organizzati dal LUG</h2> Gli eventi che organizza o a cui partecipa il Fortunae LUG <hr /> //fino qua spero e` chiaro <? //il coso qua sotto legge dentro la dir $i=0; $handle=opendir("eventi"); //per leggere una dir bisogna dargli un handle //da passare poi a readdir, il comando in php //che legge le dir while ($file = readdir ($handle)) //qua comincia il ciclo while fino alla fine //della dir, cioe`... quello li... //while continua finche $file non e` uguale //alla lettura della dir, e` contorto da //spiegare ma funziona cosi` { if ($file != "." && $file != "..") //siccome readdir legge tutto quello che c`e` //nella dir ci sono pure il . e il .. quindi con //questo if diciamo di fottersene di . e .. //il != vuol dire diverso //in pratica dice "se $file e` diverso da . e .. //allo fa quello dopo, senno` schiatta { $files[$i] = $file; //questo adesso non mi ricordo tanto bene a cosa serve //pero` in pratica e` un array e $files[$i] e` //l`elemento dell`array $i, $i incrementera` dopo echo "<a href=\"eventi.php?id=$i\">$file</a> <br />"; //questo in pratica scrive i link delle dir //si scrivera` il link passandogli come parametro $id //se servira` a identificare in quale dir vogliamo //vedere le foto, poi si vedra` che dalla versione //4.1.0 questo assume una forma diversa $i ++; //questo incrementa $i per poter leggere tutti //gli elementi dell`array } } //ste graffe chiudono i clicli aperti sopra closedir($handle); //la dir va chiusa echo "<hr />"; //scrive una riga orizzonatale stardard //all`xhtml 1.1 // //qua sotto comincia la parte di roba per //printare l`elenco delle foto for($a=0; $a<count($files); $a++) //qua si setta un cliclo for fino alla fine //dell`array delle robe delle dir //count($files) serve per contare gli elementi //dell`array, facendo un esempio, che gia` vi feci //un arrey composto da 3 elementi, ha si, 3 elementi //ma il primo e` 0 e l`ultimo 2, quindi con //$a<count($files) si dice di arrivare fino al penultimo //elemento contato, che in pratica e` uguale all`elemento //dell`array... capito??? io rileggendo non ho capito, //pero` ho capito { if ($id == "") //e qua torna fuori la storia degli id //rileggendo sopra, il link diventa //eventi.php?id=0 per esempio, questo //prende la prima cosa della lista e scrive i link { echo "<br />"; //questo e` quello che succede se $id e` uguale a niente //quindi solo un ritorno a capo e poi esce } elseif ($id == $a) //se $id e` uguale al coso dell`elemento for, $a //allora fa questa roba sotto { $i=0; //qua in pratica fa la stessa roba che faceva prima //solo che va a leggere nella dir che abbiamo deciso //di leggere clickando sul link //e` uguale a prima quindi non ve lo rispiego $handle=opendir("./eventi/$files[$id]"); while ($dir = readdir ($handle)) { if ($dir != "." && $dir != "..") { $roba[$i] = $dir; echo "<a href=\"eventi/$files[$id]/$roba[$i]\">$roba[$i]</a> <br />"; //ecco, cambia solo sto pezzo, dove in pratica scrive //i link alle singole foto, clickando sulla foto //viene aperta $i ++; //incremente $i } } closedir($handle); } } ?> //e` stato chiuso tutto, la dir e i clicli e il php <!-- End of the Body --> <? include 'include/foot.xhtml'; ?> le prossime feature che ho in programma sono: _generazione al volo delle anteprime, usando la libreria GD _eventuale apertura del link in una nuova finestra, cosi, da evitare di clickare su back _guerra termonucleare globale _qualcuno che passi a prendere le chiavi da Busca alle politiche giovanili -- <SmartArt> Ogni giorno un sistemista Windows NT si sveglia...... e sa che dovra' lavorare. <SmartArt> Ogni giorno un sistemista Linux si sveglia...... alle 13.00, per il pranzo. <SmartArt> Non importa che tu sia sistemista Windows NT o Linux.....tanto ti pagano uguale!