Overview
La classe permette la creazione di una slideshow di file compatibili con
Adobe Flash Player (jpg, swf, png, gif) senza l'ausilio di un file di configurazione.
Il caricamento dei file prevede l'utilizzo di un file PHP
getFileFromSource.php.
Tramite lo script PHP è possibile ottenere l'elenco dei file, filtrati attraverso le estensioni compatibili con Flash Player, presenti in una cartella del webserver, il percorso sorgente dei file può essere parametrizzato in base al tipo di utilizzo. La barra di navigazione e le dimensioni dell'area sono graficamente personalizzabili tramite l'editor di Adobe Flash.
Ecco qui un esempio di FileDisplay in azione
How to use
- Installare FileDisplay.mxp
- Copiare getFileFromSource.php in una cartella del webserver
- Configurare lo script PHP
- Definire la costante ROOT con il percorso relativo della root directory
- Definire o parametrizzare (es. tramite una variabile passata in GET) la costante DIRPATH con il percorso relativo della sorgente dei file da caricare
- Creare una nuova interfaccia in Flash
- Istanziare e configurare l'oggetto FileDisplay
- Compilare e pubblicare il file swf
Configuration
Basic
// server host
filedisplay.setHost("http://www.addiction.it");
// path assoluto del file php
filedisplay.setServicePath("/getFileFromSource.php");
// path assoluto della directory in cui risiedono i file
filedisplay.setFilesPath("/slideshow");
// durata in millisecondi della funzione autoplay
filedisplay.setAutoplayDuration(3000);
// Area utile in pixel per la visualizzazione delle immagini
filedisplay.setDisplaySize(700, 260);
// inzia il caricamento dei file
filedisplay.loadFilesData();
Optional
// Jump to next file
filedisplay.switchPrevFile();
// Jump to previous file
filedisplay.switchNextFile();
// Select a file by name
display.loadFileName("video01.jpg")
// Stop autoplay
filedisplay.autoplay = false;
// Start autoplay
filedisplay.autoplay = true;
getFileFromSource.php
Configurazione
Il file
getFileFromSource.php è utilizzato dal FileDisplay per ottenere l'elenco dei file presenti
nella directory indicata nella configurazione iniziale. Queste impostazioni possono essere gestite in modo automatico ma, per garantire una buona sicurezza, abbiamo preferito inserirle manualmente.
Per utilizzarlo è necessario impostare alcuni parametri:
- definire la costante ROOTSRC (line 21)
Indicare il path relativo alla root in base alla profondità di collocamento del file.
es. /path/files/php/getFileFromSource.php ROOTSRC diventa "../../..".
- definire la costante DIRPATH (line 25)
di default questa costante è gestita da un GET in modo da rendere dinamica la directory di selezione (configurabile nel FileDisplay).
- definire la costante EXT (line 28)
Estensioni accettate per la visualizzazione
ChangeLog
0.9.9
- Aggiunto il metodo pubblico setDisplaySize(w:Number, h:Number) per la definizione dell'area utile di visualizzazione
- Allineamento centrato dell'immagine
- Ridimensionamento dell'immagine in caso di dimensioni superiori rispetto all'area utile
- Sistema di cache per per le immagini caricate
23-01-2008 | Ciao ho trovato File Display molto interessante e l'ho segnalato sul mio blog. Potete vedere il post a questo indirizzo: http://weworldweb.blogspot.com/2008/01/slideshow-di-immagini-e-file-con-flash.html
Un saluto
13-02-2008 | Ciao Fabio, trovo File Display veramente eccezionale. L'unica cosa è che non avendo alcuna dimestichezza con php ho dei problemi con la configurazione del file per cui se potessi chiarirmi meglio come fare te ne sarei grato. Inoltre la dimensione delle immagini qual'è?. Grazie in anticipo e scusa per le domande forse semplici ai più...
14-02-2008 | Ciao Tommy, le domande sono sempre gradite che siano semplici o no questo non importa. La configurazione del file in PHP (getFileFromSource.php) si risolve in pochi passaggi, apri il file con un editor di testo qualsiasi, va benissimo anche il blocco note. Nella riga 21 (versione 1.2) trovi il seguente parametro define("ROOTSRC", "../../.."); Questa definizione ti permette di indicare il percorso relativo per arrivare alla root del sito rispetto alla posizione del file php. Se il file si trova sulla root del sito allora la definizione risulterà in questo modo define("ROOTSRC", ""); se il file si trova nella directory /addiction/files la definizione sarà define("ROOTSRC", "../.."); e così via... La definizione define("EXT", "jpg,gif,jpeg,swf"); non è altro che l’elenco delle estensioni accettate. Per quanto riguarda la dimensione delle immagini non ci sono limiti, puoi anche inserire immagini con dimensioni differenti. A questo proposito, a breve, pubblicherò una nuova release (l’ultima in AS2) in cui, nel caso le dimensioni siano inferiori all’area utile, il sistema provvede ad allineare al centro dell’area l’immagine visualizzata.
17-02-2008 | Ciao Fabio, bellissimo il file display! Io ho provato a scaricarlo, ma l'installazione non parte. Forse perchè non ho Flash 8 ma Flash CS3?
22-02-2008 | Ciao Leo, hai controllato di avere Extension Manager installato ? Lo trovi in C:\Programmi\Adobe\Adobe Extension Manager. Se non è presente lo puoi scaricare gratuitamente dal sito Adobe.
22-02-2008 | Ciao, ho visto File Display e sembra che abbia finalmente trovato quello che cerco. Il problema è che non capisco poco o nulla di file php, configurazioni, root, ecc. E' possibile che possa fare da solo o potete aiutarmi? Attualmente il mio sito, in html, è abbattuto in attesa di ristrutturazione. Fatemi sapere e grazie
25-02-2008 | Ciao, prova a seguire i punti chiave che abbiamo documentato in questa pagina e, se non riesci, scrivi il tuo problema.
10-03-2008 | ciao Fabio, Complimenti x File Display è utilissimo! Io però ho dei problemi con la configurazione... -Ho scaricato il pacchetto -ho installato l'estensione -ho corretto l'url in azioni-fotogramma sotto scene1 -esportato in swf -ho corretto il php in questio modo: define("ROOTSRC", ""); considerando che metto tutto nella root principale (la dove ho anche il file index.html del sito) -ho creato la cartella slideshow con 2 immagini. ma non funge..... :-( mi compare solo la barra ma non le foto il loro spazio è completamente bianco. Ti sarei grato se riuscissi ad aiutarmi!!! grazie mille mauro
10-03-2008 | Ciao mauro, ti ringrazio per i complimenti. Per quanto riguarda il funzionamento ti posso consigliare di provare a lanciare manualmente il file getFileFromSource.php direttamente dal browser e scoprire se il risultato è quello sperato. Apri il browser, inserisci l'url completo del file aggiungendo la query string con il valore della directory in cui sono salvate le immagini da caricare. Esempio: http://www.sito.com/getFileFromSource.php?dirpath=/percorso/completo/immagini Se tutto funziona correttamente come risultato otterrai il nome dei file presenti nella directory. Prova e fammi sapere, ciao.
31-03-2008 | Ciao Fabio, mi associo ai vari complimenti di cui ai messaggi precedenti ;) . Anch'io ho lo stesso problema di mauro vedo la barra ma non carica le foto . ho provato a fare la verifica che hai consigliato e ottengo "filesnum=0". Se invece punto direttamente http://localhost/file_display/immagini/ ovvero la directory contenete le immagini, ottengo la lista dei file contenuti. dove sbaglio? grazie ciao. federico
31-03-2008 | Ciao federico, grazie ancora dei complimenti.
Siccome hai già fatto la prima prova facciamo un ulteriore verifica.
Commenta con 2 slash prima dell'if la riga 59 del file getFileFromSource.php e, per l'esattezza, dove è presente questo comando:
// if($filename!=".." && $filename!="." && isValidExt($filename))
A questo punto prova a lanciare dal browser il file in questo modo:
getFileFromSource.php?dirpath=/
Il risultato dovrà essere l'elenco dei file presenti nella directory dove si trova il file che lancia il FileDisplay. Se così non fosse allora controlla bene la costante ROOTSRC.
Hai provato anche:
http://www.sito.com/getFileFromSource.php?dirpath=/percorso/completo/immagini
deve ritornare l'elenco delle immagini da caricare.
Spero di essere stato chiaro, fammi sapere.
A presto
01-04-2008 | *** IMPORTANTE ***
Quanto tenete tutti i file nella root, cioè avete il file getFileFromSource.php e il FileDisplay nella stessa directory, la variabile ROOTSRC in PHP deve essere impostata con il valore "./" e non "".
03-04-2008 | Complimenti Fabio, uno script veloce e preciso! Se volessi non aprire più il .fla x fare più slide.swf da utilizzare come devo modificare il fla x caricare una variabile da un file .txt filedisplay.setFilesPath("datovariabile caricato da .txt");
03-04-2008 | Ciao Artux e di nuovo grazie... forse per risolvere il tuo problema puoi utilizzare SmartDisplay. Prova a valutarlo e fammi sapere. A presto
04-07-2008 | Ciao Fabio, complimenti per i tuoi prodotti, sono utili e interessanti. Vorrei usare questo tuo filedisplay per visualizzare una serie di immagini che una webcam manda sul mio server. Però per farlo volevo toglere la barra dei comandi dal player e l'effetto fade al caricamento di una nuova immagine. E' possibile??? Ancora complimenti
09-07-2008 | Ciao Ivan e grazie.
Per rimuovere l'effetto fade tra le immagini devi intervenire direttamente sul codice AS della classe FileDisplay. Questo perchè il valore di incremento dell'effetto alpha è una proprietà privata e non pubblica.
Classe FileDisplay
C:\Documents and Settings\USERNAME\Impostazioni locali\Dati applicazioni\Macromedia\Flash 8\en\Configuration\Classes\it\addiction\MovieClip\FileDisplay.as
Proprietà effetto Fade
private var alphafx_incr:Number = 5;
Per rimuovere l'effetto fade imposta il valore di incremento a 100.
Rimozione comandi
Per rimuovere i comandi di avanzamento (prev, next, stop, autoplay) puoi semplicemente cancellarli dalla movieclip mentre, per le icone di selezione, puoi utilizzare la proprietà:
private var _icon_y:Number = 5;
Inserisci un valore dell'asse y che ti permetta di nascondere le icone fuori dallo stage.
a presto.
09-07-2008 | Ciao Fabio, grazie per le info. Anche se il file as non è stato inculso mi sembra. Ho provato ad usare il componente così com'era mettendo una lista di file di 200 elementi e un refreash di 500 millisecondi. Il risultato è che il browser continua ad aumentare sia l'uso di cpu che di ram (questa arrivato ad un certo punto ferma il suo aumento) Se ti interessa potremmo collaborare per creare un componente nuovo per le webcam a partire da questo tuo fileDisplay. A presto
09-07-2008 | Si in effetti 200 elementi a 500ms mi sembrano troppi per il FileDisplay. L'applicazione non è studiata ne ottimizzata per gestire un carico di lavoro tale come quello che hai sperimentato. Attualmente sono al 50% dello sviluppo del nuovo FileDisplay per AVM2 (AS3) quindi, le funzionalità che hai cercato in questa versione, molto probabilmente le troverai nelle prossime release dell'applicazione.
a presto!
15-07-2008 | ok, ti ringrazio. Secondo te è possibile modificare l'attuale as per renderlo applicabile a questa esigenza?
21-07-2008 | Ho posticipato la risposta perchè ho provveduto, grazie ai tuoi suggerimenti, a realizzare una nuova classe per ottenere il risultato che hai proposto. Al momento è pubblicata sul mio blog.
Attendiamo un tuo feedback!
a presto!
05-03-2009 | Ciao Fabio, ho trovato fantastico Filedisplay, però ho un problemino ho inserito il filedisplay.swf in una tabella su dw per far si di inserire un titolo e sotto il file .swf ma tra il titolo e quest'ultimo mi lascia una fascia vuota... anche se inserisco l'swf in una pagina html senza nessuna tabella mi lascia lo spazio vuoto alla testa del filedisplay...sai come mai si crea questo spazio vuoto...(sono un autodidatta) ciao grazie
05-03-2009 | Ciao Marco, ti chieso scusa ma non ho capito bene cosa intendi. Potresti mandarmi uno screenshot di quello che ti è accaduto? puoi scrivere direttamente a me: fabio at addiction dot it
06-04-2009 | Ciao Fabio, se l'estenzione delle immagini è maiuscola, lo script si inchioda Buona Notte ark
27-04-2009 | Complimenti x tutto ciò che hai creato!!Vermaente bello!! Io non riesco ad aprire il file filedisplay.mxp ho installato adobe extensione manager CS4 ma mi dice di installare flash 8 o succcessiva. Anche quest'ultima l'ho già installata alla versione 10 ma non funziona allo stesso. Ho provato anche Adobe Extension Manager CS3 ma pure quest'ultima va in errore.. Come devo fare?? Grazie mille!!!
28-04-2009 | Ciao Daniele, mi dispiace che tu abbia riscontrato tutti questi problemi con un file MXP. La cosa migliore in questo caso è fare tutto mano, puoi scaricare la classe AS e linkarla direttamente nel tuo sorgente FLA.
FileDisplay.as
18-05-2009 | ciao! ho trovato eccellente l'applicazione! solo manca la possibilità eventuale di mettere un titolo ed una description, quelle forse per praticità andrebbero caricate da un file xml, ma a quel punto tanto varrebbe fare tutto da file xml, unico neo è che poi quel files xml va editato se viene implementata una nuova immagine, mentre questo sistema php che ho già testato in locale pprende da solo le immagini nella cartella. non sono una cima in php perciò non ho ancora trovato il modo migliore per poter aver disponibili per ogni foto anche un titolo ed una description, quale può essere il modo migliore? non voglio scocciarti dato che avrai del lavoro, ma se non si chiede a chi sviluppa cosa fatte bene a chi si può chiedere? hehe, beh se ti va di sbatterti un pò altrimenti ti ringrazio cmq per l'attenzione :) ciao e compli per sito e code sviluppati, semplici e puliti oltre che resi da te disponibili free!
01-09-2009 | Ciao Fabio potrei essere ripetitivo ma mi accodo al resto del gruppo...QUELLO CHE HAI FATTO è UNA GENIALATA... sarebbe bello un giorno poter avere anche delle piccole immagini laterali in modo che se stoppila la slideshow puoi procedere a mano. però al momento non riesco a farlo funzionare, ho installato il file display seguo passo passo il video tutorial ma quando vado a creare il filmato flash e lo provo mi viene la barra del play\stop ma non si vedono le immagini. riesci a darmi una mano???? ancora grazie per quello che hai creato vitangelo
02-09-2009 | Ciao vitangelo, grazie dei complimenti esaltanti! Sono ben disposto ad aiutarti, devi solo dirmi se ti si verifica qualche errore.
- Da Flash quando esporti l'SWF?
- In PHP lanciando dal browser la pagina getFileFromSource.php?
Fammi sapere, a presto.
15-09-2009 | Ciao Fabio, innanzitutto complimenti vivissimi per il lavoro. Ho una domanda da porti, ho modificato su tue indicazioni i vari file e funziona tutto bene tranne per una cosa, infatti dato che ho allargato il formato delle immagini e del filedsplay, la barra di navigazione non riesco ad abbassarla e quindi inevitabilmente si sovrappone sulle foto che si visualizzano. Puoi aiutarmi per favore, grazie. Davide
08-11-2009 | Ciao Fabio mi associo anche io a tutti qua per farti i complimenti per il tuo lavoro. Ascolta ho un piccolo prob. quando faccio la Complilazione e la pubblicazione del file swf mi da questo errore: Impossibile caricare la classe o l'interfaccia 'it.addiction.MovieClip.FileDisplay'. Dove sto sbagliando? Grazieeeeeeeeeee :o) Athos
10-11-2009 | Ciao Athos, di nuovo grazie.
Il tuo problema è relativo al collegamento delle classi. Il componente MXP installa nella directory di default di Flash le classi necessarie per il corretto funzionamento del FileDisplay. Nel caso questo non dovesse avvenire, ti consiglio di selezionare manualmente la directory della classi.
In Flash > Settings > Flash > Action Script version: ... Settings > Classpath (click su +) > Selezione della directory in cui sono installate le classi (dipende dal S.O.)
A presto!
11-12-2009 | Ciao Fabio, veramente un bel lavoro:grazie. ho (inevitabilmente) un problemino: ho caricato delle png24, la sequenza funziona benissimo ma la trasparenza no. Che faccio? rinuncio oppure devo settare l'alpha? e se si come? Grazie ancora.
13-02-2010 | Ciao Fabio...ho provato ad utilizzare il tuo script, ho cercato di impostare tutto secondo istruzioni, premetto che sono alle prime armi con la realizzazione di un sito internet, il mio problema è che dopo aver smanettato un bel po, aver provato empiricamente diverse impostazioni di rootsrc ecc. quando vado a lanciare la pagina non si vede l'animazione flash, in realtà non parte nemmeno in locale, mentre sul web lo spazio di visualizzazione rimane completamente bianco (per scelta la barra di navigazione l'ho tolta nell'editor flash quindi non mi compare, la mia necessità è quella di visualizzare solo uno slideshow in loop senza controlli). Ho eseguito più volte le prove indicate sopra lanciando le stringhe direttamente dal browser...le root delle immagini e del FileDisplay sembrano corrette, mi visualizza quello che hai indicato te...a questo punto non capisco più dove sto sbagliando...! ti ringrazio anticipatamente Thomas P.s. utilizzo dreamweaver Cs4
04-03-2010 | Ciao, sto avendo un piccolo problema a provare il tuo script. lo sto provando in locale, quindi ho impostato i seguenti dati: /** * FileDisplay 0.9.9 */ filedisplay.setHost("http://localhost"); filedisplay.setServicePath("/FileDisplay/getFileFromSource.php"); filedisplay.setFilesPath("/foto"); filedisplay.setAutoplayDuration(3000); filedisplay.setDisplaySize(700, 260); filedisplay.loadFilesData(); e nel file php define("ROOTSRC", ".."); credo che sia sbagliata la definizione del file php, forse non mi è chiara.