All'interno di una folder ho degli mp3 (questa cartella può anche essere vuota) e vorrei che mi venisse mostrato l'elenco delle canzoni presenti. Nel caso la cartella fosse vuota mostrerei un messaggio di avviso.
Ma come posso realizzarlo?
All'interno di una folder ho degli mp3 (questa cartella può anche essere vuota) e vorrei che mi venisse mostrato l'elenco delle canzoni presenti. Nel caso la cartella fosse vuota mostrerei un messaggio di avviso.
Ma come posso realizzarlo?
se non hai idea di quello che ci potrebbe essere dentro la cartella dovresti usare un linguaggio server side che la legga e ne restituisca un output formattato, magari in xml, così se la cartella è vuota o non ci sono mp3 dentro l'output stesso genererà il messaggio di errore e lo restituirà a flashOriginariamente inviato da semolino
All'interno di una folder ho degli mp3 (questa cartella può anche essere vuota) e vorrei che mi venisse mostrato l'elenco delle canzoni presenti. Nel caso la cartella fosse vuota mostrerei un messaggio di avviso.
Ma come posso realizzarlo?
Io stavo pensando di usare PHP, ammettiamo di ottenere i due risultati:
- errore, nessun file
- elenco tutti i file (che saranno dei link a se stessi)
Ad esempio
In flash come recupero l'elenco dei file?Codice PHP:$dir = "/music";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: ".filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
io il PHP lo farei così
in maniera da ritrovarmi solo i files mp3 e avere un output del tipo filename1=primo.mp3&filename2=secondo.mp3&Codice PHP:<?
$default_dir ="./music/";
if(!($dp = opendir($default_dir))) die ("Cannot open $default_dir.");
i=0
while($file = readdir($dp)) {
if($file != '.' && $file != '..') {
$extension = array_pop(explode(".", $file));
if(strtolower($extension) =="mp3"){
i+=1;
echo "filename".i."=".$file."&";
}
}
}
closedir($dp);
?>
così rimane però da considerare se la cartella in questione sia vuota o meno :master:
facciamo in modo che ci sia sempre un mp3 dentro la cartella (che poi sarà cosi).
Ora siamo in flash; come stampo a video il contenuto all'interno di un MC contenitore?
I risultati vorrei mostrarli su due colonne in questo modo:
Se ce ne sono 2, saranno 1 in una colonna 1 nell'altra;
Se ce ne sono 5, saranno 3 in una colonna e due nella seconda;
Se sono 8, saranno 4 nella prima e 4 nella seconda;
....e cosi via.
Come posso fare?
in flash si utilizza LoadVars, questa è una classe che "porta" le variabili riferendole a se stesso, come fossero proprietà ecc... la struttura di costruzione è sempre la stessa, varia solo il codice per fare...il restoOriginariamente inviato da semolino
facciamo in modo che ci sia sempre un mp3 dentro la cartella (che poi sarà cosi).
Ora siamo in flash; come stampo a video il contenuto all'interno di un MC contenitore?
I risultati vorrei mostrarli su due colonne in questo modo:
Se ce ne sono 2, saranno 1 in una colonna 1 nell'altra;
Se ce ne sono 5, saranno 3 in una colonna e due nella seconda;
Se sono 8, saranno 4 nella prima e 4 nella seconda;
....e cosi via.
Come posso fare?
secondo l'esempio tu ti ritroveresti nell'onLoad con variabili riferite a myVars, quindi ad esempiocodice:// creo un nuovo oggetto LoadVars var myVars:LoadVars = new LoadVars(); // attivo la funzione che conterrà il vero e proprio // utilizzo delle variabili esterne myVars.onLoad = function(ok){ if(ok){ // ogni azione legata all'utilizzo delle variabili esterne và qui dentro } else{ //qui esplicito tutti gli errori che verrebbero invocati se // il file non fosse disponibile o il caricamento non andasse a buon fine } } // ultima cosa, richiamo il file esterno con myVars.load("fileEsterno.php");
trace (myVars.filename1);
restituirebbe --> primo.mp3
faccio dei tentaviti poi torno a dire se è andato tutto bene o se ho ancora dei problemi. Grazie per ora...
Ora se eseguo un print da php ottengo:
filename1=13 - the soundlovers - hyperfolk.mp3&filename2=50 Cents - In Da Club (It's Your Birthday).mp3&
Adesso che faccio?
Il comando
trace (myVars.filename1);
dove lo scrivo? Inoltre l'1 dovrebbe capirlo da solo, altrimenti devo mettere ogni volta un valore in più se c'è un mp3 in più...
In flash cosa devo utilizzare per stampare i valori?![]()
ora come ora sono parecchio incasinato, perciò ti lascio alla lettura di questa guida al LoadVars che dovrebbe illuminarti per bene...
se non bastasse nel subforum di PHP c'è una pillola scritta da andr3a sull'interazione Flash+PHP
![]()