Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90

    Aggiornamento immagini da webcam

    Salve a tutti, vi illustro il mio problema :

    Ho una telecamera IP che mi invia ogni 2 secondi il suo snapshot al server FTP .
    Il problema è che non sovrascrive l'immagine, ma le salva con nomi sequenziali..
    Ora ho creato uno script in php che mi legge qual'è l'ultima immagine inviata, elimina le altre e la visualizza. Ogni 2 secondi con javascript aggiorno la pagina in modo che ripete il procedimento in php.
    Il problema è che naturalmente l'immagine viene caricata a spezzoni e non tutta insieme facendo un effetto bruttissimo.Per non far ricaricare l'intera pagina ma solo l'immagine ho inserito il procedimento in un iframe. Il codice dell'iframe che viene visualizzato attualmente è il seguente :

    codice:
    <script language="JavaScript">
    function doRefresh() {
      // refresh della pagina corrente
      document.location.reload();
    }
    // imposto il timeout per il prossimo refresh
    // espresso in millisecondi (1000 = 1 secondo)
    window.setTimeout("doRefresh();", 2000);
    </script>
    
    <script language="JavaScript">
    <!--
    data = new Date();
    ora =data.getHours();
    minuti=data.getMinutes();
    secondi=data.getSeconds();
    giorno = data.getDay();
    mese = data.getMonth();
    date= data.getDate();
    year= data.getYear();
    if(minuti< 10)minuti="0"+minuti;
    if(secondi< 10)secondi="0"+secondi;
    if(year<1900)year=year+1900;
    if(ora<10)ora="0"+ora;
    if(giorno == 0) giorno = " Domenica ";
    if(giorno == 1) giorno = " Lunedì ";
    if(giorno == 2) giorno = " Martedì ";
    if(giorno == 3) giorno = " Mercoledì ";
    if(giorno == 4) giorno = " Giovedì ";
    if(giorno == 5) giorno = " Venerdì ";
    if(giorno == 6) giorno = " Sabato ";
    if(mese == 0) mese = "Gennaio ";
    if(mese ==1) mese = "Febbraio ";
    if(mese ==2) mese = "Marzo ";
    if(mese ==3) mese = "Aprile ";
    if(mese ==4) mese = "Maggio ";
    if(mese ==5) mese = "Giugno ";
    if(mese ==6) mese = "Luglio ";
    if(mese ==7) mese = "Agosto ";
    if(mese ==8) mese = "Settembre ";
    if(mese ==9) mese = "Ottobre ";
    if(mese ==10) mese = "Novembre ";
    if(mese ==11) mese = "Dicembre";
    document.write(giorno+" "+date+" "+mese+" "+year+" - "+ora+":"+minuti+":"+secondi);
    //-->
    </script>
    
    
    <?php
    $dir= '../snap1/';
        $imgs = array();
    
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if (!is_dir($file) && preg_match("/\.(bmp|jpe?g|gif|png)$/", $file)) {
                    array_push($imgs, $file);
                }
            }
    
            closedir($dh);
        } else {
            die('cannot open ' . $dir);
        }
    	$ind='http://localhost/snap1/';
        foreach ($imgs as $idx=>$img) {
            $class = ($idx == count($imgs) - 1 ? '[img]' . $ind . $img . '[/img]' : '<div style="display:none;">'.unlink($dir.$img).'</div>');
            echo $class;
    		
        }
    	
    ?>
    Ora mi chiedo :

    1)C'è un modo per far visualizzare l'immagine con javascript soltanto quando è stata caricata completamente in cache ?? Ho visto il preload ma non ne ho capito un granchè, magari con uno scriptino capirei meglio
    2)E' possibile con javascript creare lo stesso procedimento fatto in php ?? (Capire quale file è stato inserito per ultimo in quella cartella, cancellare gli altri file, visualizzare l'ultima immagine con il preload )


    PS. Se avete altri suggerimenti per risolvere la situazione sono ben accetti..
    PPS. Se volete in privato vi invio il link del sito in questione almeno vi rendete meglio conto.
    Graziee

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132

    Re: Aggiornamento immagini da webcam

    Originariamente inviato da Ale88
    ... Ora mi chiedo :

    1)C'è un modo per far visualizzare l'immagine con javascript soltanto quando è stata caricata completamente in cache ?? Ho visto il preload ma non ne ho capito un granchè, magari con uno scriptino capirei meglio
    Ti sei già risposto in rete trovi migliardi di preload
    2)E' possibile con javascript creare lo stesso procedimento fatto in php ?? (Capire quale file è stato inserito per ultimo in quella cartella, cancellare gli altri file, visualizzare l'ultima immagine con il preload )
    ...
    No javascript non può "cercare" un file in una cartella del server e non può eliminarlo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    Si, ce ne sono miliardi di preload, ma tutti per immagini gia conosciute..
    nel mio caso l'immagine non la conosco e quindi dovrei adattare il javascript al php..ma come ??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Originariamente inviato da Ale88
    Si, ce ne sono miliardi di preload, ma tutti per immagini gia conosciute..
    nel mio caso l'immagine non la conosco e quindi dovrei adattare il javascript al php..ma come ??
    E applicare un preload a tutta la pagina (sperando che questa si conosca)?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    mmm..vediamo se ho capito e intanto riassumo la mia situazione :

    -Ho una pagina che contiene un iframe
    -nell'iframe tramite php e javascript calcolo rispettivamente l'ultima immagine uploddata e con javascript refresho l'iframe ogni 2 secondi.

    Questo mi causa un effetto bruttissimo visto che l'immagine svanisce completamente e rippare piano piano.

    Ora mi dici di fare un preload su tutta la pagina dell'iframe.
    Però dovrei cercare di fare in modo che con il preload e il refresh (altrimenti il php non viene calcolato) il contenuto non svanisca mai , ma cambi solamente quando tutto il codice dell'iframe viene caricato in cache..

    si puo fare ??

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Ti stai complicando la vita, nella pagina "iframe" metti un proload sul body con un div a tutta pagina che conterrà una gif "attendere caricamento in corso" ad onload avvenuto lo nascondi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    ehmm..non penso vada bene come soluzione..
    Essendo una webcam non posso comprirne l'immagine ogni 2 secondi..

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Ok, non voglio insistere ma secondo me sbagli.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    Quello che voglio far io è un refresh della pagina senza che il contenuto corrente venga cancellato , una volta caricata la nuova pagina essa venga sovrapposta sostituendo la vecchia

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Ma scusa per capirci, tu hai pagina (poniamo) iframe.php che contiene l'immagine webcam_06_06_2011_15_40.jpeg dopo due secondi cambia immagine webcam_06_06_2011_15_42.jpeg ergo cambia contenuto pagina è cosi?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.