Visualizzazione risultati 1 fino 4 di 4

Discussione: Richiamare file per data e non per nome

  1. #1
    andreafurlan non è connesso Neofita
    Data registrazione
    18-03-2014
    Messaggi
    3

    Predefinito Richiamare file per data e non per nome

    salve a tutti,
    ho questa pagina che richiama i file di una cartella (foto) e crea un timelapse
    ora i file vengono caricati per per nome, io vorrei caricarli per data di creazione...
    dove devo intervenire ? grazie !
    Codice PHP:
    <?
    //file che genera il falso video php
    //si ottiene facendo un refresh continuo della pagina conuna nuova immagine
    //si chiama nel seguente modo:

    ?>
    <HTML>
    <HEAD>
    <TITLE>Video</TITLE>
    </HEAD>
    <BODY BGCOLOR="#000000" onload="update();">
    <img name="foto" src="http://forum.it.altervista.org/senegal/webcam.jpg">
    <div class="mid" id="HiddenDiv" style="DISPLAY: none" >
    <center>
    <input type="button" value="Rivedi il video" display="" onClick="rivedi();">
    </center>
    </div>
    <!-- Code for slideshow -->

    <SCRIPT LANGUAGE="JavaScript">

    <!-- Begin
    // Specify the image files
    var Pic = new Array();
    // to add more images, just continue
    // the pattern, adding to the array below
    //intanto carica l'immagine iniziale

    <?
    $as
    ="../" . $_REQUEST['code'] . "/senegal/";
    $i=0;
    foreach (
    glob($as . "*.jpg") as $filename) {?>
    Pic[<?echo $i;?>] = "<?echo $filename;$i++;?>";<? echo "\n";
    }
    ?>
    //document.getElementById("HiddenDiv").style.display = 'none';
    // do not edit anything below this line
    var t;
    var j = 0;
    var p = Pic.length;
    var preLoad = new Array();
    for (i = 0; i < p; i++) {
    preLoad[i] = new Image();
    preLoad[i].src = Pic[i];
    }
    //ho caricato tutte le foto in preLoad[]
    index = 0;
    function update(){
    if (preLoad[index]!= null){
    document.images['foto'].src = preLoad[index].src;
    index++;
    setTimeout(update, 500);
    }else {document.getElementById("HiddenDiv").style.display='block';}


    }
    function rivedi(){
    document.getElementById("HiddenDiv").style.display = 'none';
    index = 0;
    update();
    }


    // End -->
    </script>

    </BODY>
    </HTML>
    <? /*
    <img name="foto">
    <script type="text/javascript">

    var images = [],
    index = 0;

    <?
    $as="../" . $_REQUEST['code'] . "/senegal/";
    $i=0;
    foreach (glob($as . "*.jpg") as $filename) {?>
    images[<?echo $i;?>] = "<?echo $filename;$i++;?>";<? echo "\n";
    }
    ?>
    function update(){
    if (images[index]!= null){
    document.images['foto'].src = images[index] + "?time=" + new Date();
    index++;
    setTimeout(update, 1000);
    }

    }
    update();

    </script>*/
    ?>
    Ultima modifica di alemoppo : 16-07-2014 alle ore 12.10.35 Motivo: +tag [php]

  2. #2
    andreafurlan non è connesso Neofita
    Data registrazione
    18-03-2014
    Messaggi
    3

    Predefinito

    ho capito che il tutto sta qui:
    Codice PHP:
    <!-- Begin
    // Specify the image files
    var Pic = new Array();
    // to add more images, just continue
    // the pattern, adding to the array below
    //intanto carica l'immagine iniziale

    <?
    ma non so come modificarlo...
    Ultima modifica di alemoppo : 16-07-2014 alle ore 12.11.29

  3. #3
    L'avatar di naviland
    naviland non è connesso Utente
    Data registrazione
    31-12-2009
    Messaggi
    128

    Predefinito

    In php esiste una funzione che si chiama
    Codice PHP:
    filemtime(NOME FILE)
    Ottieni la data dell'ultima modifica del file come Unix timestamp.
    Io agirei in questo modo:
    1) Quando l'utente apre la pagina scansiono la cartella file per file e li inserisco in un array
    2) Ordino l'array in senso crescente o decrescente a secondo del verso del timelapse (facile visto che il timestamp è un semplice numero progressivo)
    3) Includo questo array nella pagina e uso JavaScript per scorrerlo caricando di volta in volta le immagini senza ricaricare la pagina completa (riduci il traffico e i tempi di attesa)

    Mi viene in mente un modo leggermente diverso tramite AJAX ma non fa molta differenza.

  4. #4
    andreafurlan non è connesso Neofita
    Data registrazione
    18-03-2014
    Messaggi
    3

    Predefinito

    mille grazie ! la prossima settimana provo a farlo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •