Oggi parliamo di un argomento molto discusso in ambito Flash, ovvero come ottenere filmati Flash sempre aggiornati da modifiche.
Una delle cose che i clienti richiedono e quello di fare modifiche e che queste devono essere subito visualizzabili
Sappiamo tutti che quando facciamo delle modifiche su file flash, e ricarichiamo l’oggetto in remoto con lo stesso nome, se la cache non è aggiornata non vedremo nessun tipo di differenza
Ora vedremo come forzare il download del filmato swf ad ogni modifica effettuata, facendo credere al browser che sia un file diverso, questo ci permetterà di avere sempre filmati flash aggiornati.
Per fare questa operazione dovremo servirci di un linguaggio lato server, vediamo due esempi utilizzando PHP e ASP.
Inseriamo il codice all’inizio della nostra pagina .php subito dopo il tag <body>
<?
$swf="filmato.swf"; //il nome del filmato
$ultimamod=date("YmdHis",filemtime($swf)); //preleva la data dell'ultima modifica al file
$swf.="?".$ultimamod; //concatena la data con il nome del file
?>
In seguito all’interno del tag OBJECT:
<param name="movie" value="<? echo $swf; ?>">
e infine nel tag EMBED
src="<? echo $swf; ?>"
Ovviamente se usiamo modi diversi di pubblicazione del filmato swf ricordiamo di inserire le righe di codice per stampare la variabile $swf
Inseriamo il codice sempre dopo il tag <body>
<%
'### nome del file SWF
file = "filmato.swf"
'### creazione oggetti necessari per leggere le proprietà del file
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.GetFile(Server.MapPath(file))
'### aggiunta della data di ultima modifica al nome del file
'### per sicurezza vengono sostituiti gli spazi con il trattino
file = file & "?" & Replace(objFile.DateLastModified, " ", "-")
'### chiusura degli oggetti precedentemente creati
Set objFile = Nothing
Set objFS = Nothing
%>
In seguito all’interno del tag OBJECT:
<param name="movie" value="<% =file %>">
e infine nel tag EMBED
src="<% =file %>"
Ricordiamo come prima di inserire le righe di codice per stampare la variabile $swf se usiamo modi differenti di pubblicazione
Utilizzando questo metodo verrà caricato aggiornato il filmato swf solo ed esclusivamente effettuata una modifica e non sempre.
AS2, ASP, Blog, Curiosità, Design, Flash, HTML, PHP, tips & trick, Webdesign

tag abilitati: <code> </code> | <a href=""> </a> | <b> </b> | <i> </i>
DnaX
22 Maggio 2008 alle 15:48 pm
Praticamente la stessa tecnica per prevenire la memorizzazione in cache delle risposte ajax in alcuni casi!
EmaWebDesign
22 Maggio 2008 alle 22:53 pm
Molti attribuiscono “limiti” a Flash che in realtà limiti non sono. Questo è uno di quelli.
Un altro è il fatto che nei siti full-flash non si possono raggiungere singole pagine direttamente dalla url..niente di più sbagliato!
Con l’uso delle FlashVars si può tranquillamente inviare delle variabili a flash che una volta lette (per esempio l’id o il titolo di una pagina) può tranquillamente e automaticamente effettuare il loadMovie di un SWF e quindi di una pagina del sito full-flash.
In realtà molti dei “limiti” di flash non esistono e sono solo leggende..chi è appassionato di Flash come me e Julius deve illustrarlo chiaramente.
Julius
22 Maggio 2008 alle 23:30 pm
@DnaX esatto
@EmaWebDesign
DnaX
23 Maggio 2008 alle 2:17 am
In genere chi dice che Flash è limitato non lo conosce a fondo. Anche io che mi sono imbattuto ad usare Flash per piccoli clip ho trovato molte caratteristiche che altri ignoravano. Con l’ActionScript è possibile fare molte cose fatte lato server.
Ecco magari permane il problema dell’indicizzazione e della pesantezza di un filmato flash abbastanza complesso. Anche se molti effetti sono meno pesanti se fatti in flash che non in javascript (feci un intero articolo su questo aspetto).
Serdominik
23 Maggio 2008 alle 10:19 am
Ciao julius, volevo capire se avendo un sito full flash con dentro caricato un swf esterno che a sua volta prende informazioni dal file xml se con il codice sopra riportato (PHP) funziona nell’aggiornare sempre il filexml…
Ps. se nn funziona il codice, quale metodo per aggiornare l’xml dalla cache?
Julius
23 Maggio 2008 alle 18:59 pm
@Serdominik leggi qui
Giulio
1 Giugno 2008 alle 19:50 pm
Scusa, ma se inserisco il codice php nella pagina html in cui carico il filmato flash, ottengo lo stesso effetto?
Grazie per l’aiuto,
Giulio.
Julius
1 Giugno 2008 alle 22:44 pm
Ciao Giulio
ti ricordo che se inserisci un codice php la pagina non sarà più con estensione .htm ma bensì .php