Ciao a tutti, vorrei creare un semplice script che mostra le cartelle presenti nel mio ftp, permette di sceglierne una, e mostra il time-lapse delle immagini contenute in essa.
Questa cosa io sono riuscito a farla in PHP, utilizzando i seguenti codici:
Codice PHP:
<?php
// prepara l'array per i nomi dei file
$directory = array(); //array coi files nella cartella snap
$cartelle = array(); //array delle cartelle coi giorni
// prepara l'handler per la directory
$handler = opendir('../snap');
// apre la directory e legge i singoli nomi dei file
while ($file = readdir($handler)) {
$directory[] = $file;
} // chiude l'handler
closedir($handler);
$numero = count($directory);
$i=0; for($j=0;$j<$numero;$j++){
if(is_dir($directory[$j]) && $directory[$j] != "." && $directory[$j] != ".."){
print($directory[$j] . "<br>");
$cartelle[$i]=$directory[$j];
$i++;
} }
$numero_cartelle = $i + 1;
?> <form name="modulo" action="eseguilapse.php" method="get">
<select name="file">
<?php
for($i=0;$i<$numero_cartelle;$i++){
$file=$cartelle[$i];
print('<option value="' . $file .'">' . $file . '</option>');
} ?>
</select><br>
Intervallo:<br>
<input type="text" name="intervallo"><br>
<input type="submit" value="scegli">
</form>
Il file eseguilapse.php è il seguente:
Codice PHP:
<?php $giorno = $_GET[file];
(int)$intervallo = $_GET[intervallo];
// prepara l'array per i nomi dei file
$immagini = array();
// prepara l'handler per la directory
$handler = opendir('../snap/' . $giorno);
// apre la directory e legge i singoli nomi dei file
while ($file = readdir($handler)) {
$immagini[] = $file;
} // chiude l'handler
closedir($handler);
$numero_immagini = count($immagini);
natsort($immagini);
?>
<?php for($j=0;$j<$numero_immagini;$j++){
$file=$immagini[$j];
if($file != "." && $file != ".."){
echo '<IMG STYLE="position:absolute; TOP:35px; LEFT:170px; WIDTH:800px;"
SRC="http://www.romaeurmeteo.it/foscam/FI9900P_00626E856BBD/snap/'.$giorno.'/'.$file.'">';
echo "$file";
echo "<br>"; } sleep($intervallo);
}?>
Il problema è che, come mi è stato fatto notare, il PHP è sincrono e perciò non vedrò sul browser il codice essere eseguito in "live", ma verrà eseguito prima e poi mostrato.
Vorrei fare un codice che faccia la medesima cosa di questo, però in javascript, che da quanto ho capito invece può essere eseguito in modo asincrono. Il punto è: io conosco soltanto PHP, HTML e C, mentre Javascript non l'ho mai utilizzato. Potete darmi qualche dritta per riuscire a impostare questo tipo di codice in Javascript? Ad esempio le funzioni che potrebbero essermi utili, ecc.
Grazie