Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: webcam ip su internet

  1. #1

    webcam ip su internet

    Ho cercato ovunque ma nessuno delle discussioni precedenti ha dato una soluzione completa e funzionante:
    ho una webcam ip wireles che invia direttamente tramite ftp i fotogrammi registrati con un tempo da me stabilito. ovviamente il formato delle immagini è sequenziali con il seguente formato:

    000DC5D1F955(CamPat)_0_20110417213009_xx.jpg

    mac address(nome webcam)_0_dataorario_numero immagine.jpg

    Mi servirebbe uno script che visualizzasse l'ultima immagine uploadata (i fotogrammi vengono salvati sul sito nella cartella images)

    le due strade sono: rinomina immagine con un nome standard esempio webcam.jpg oppure qualcosa che identifichi quale è l'ultima in base all'orario...

    grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Non è molto difficile in teoria.
    Prima di tutto usi ftp_nlist per listare tutti i file nella directori delle immagini.
    Poi usi un foreach per elabolarli tutti. Dividi in un array con explode("_",$nomewebcam) e prendi in esame il 3o valore.
    Ora devi dividerlo. Per farlo o realizzi una regex o più semplicemente fai una serie di substr.
    Una volta diviso lo riporti in timestamp con mktime e infine fai tutti i controlli che vuoi per trovare il più giovane (il timestamp più grande).


  3. #3
    Se ti dico che non ho capito una parola di quello che hai scritto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Originariamente inviato da macavity66
    Se ti dico che non ho capito una parola di quello che hai scritto?
    Ti rispondo che hai ragione...
    Intanto, tu usi ftp per accedere all'immagine? Se è così allora puoi usare appunto ftp_nlist che ti ho già linkato.
    Poi, conosci la funzione explode? Se non la conosci ecco il link: http://php.net/explode .
    Il mktime (make time, costruisci il tempo) serve per trasformare una data in timestamp. Poi avendo il timestamp, ovvero il tempo trascorso in secondi dal 1 Gennaio 1970 alla data, puoi ottenere la maggiore, ovvero quella più recentemente scattata, con una funzione matematica: max
    Fatto questo prendi l'immagine che ti serve.

    Il resto è spiegato nell'altro post.




  5. #5
    Non mi sono spiegato bene...

    Allora: la webcam è di tipo ip quindi è indipendente e integra un server web da cui è possibile configurare i dati del server ftp a cui inviare i fotogrammi.
    I fotogrammi vengono inviati ad una cartella sul sito ftp cartella images e hanno un nome file jpg sequenziale.
    A me serve creare una pagina web che contenga uno script php capace di far visualizzare esclusivamente l'ultima immagine in ordine di tempo.
    Non conosco i comandi php però sono in grado di interpretare uno script compatibile con le mie esigenze e adattarlo.
    Ne ho trovato un paio qui che parevano adatti ma cambiando solo i nomi delle cartelle e degli indirizzi non funzionavano comunque.

    Se ci fosse qualcuno così gentile da indicarmi una traccia funzionante...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Posta lo script che hai trovato e te lo adatto come ti serve se non ci riesci.

  7. #7
    questo è quello che ho trovato ma non funziona

    il formato delle immagini e questo

    000DC5D1F955(CamPat)_0_20110417213009_xx.jpg

    dove xx è il numero sequenziale e la parte precedente la data e ora

    ti ringrazio in anticipo sei molto gentile


    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 1</title>
    </head>

    <body>
    <?php

    $arrayfile = Array();

    function ordina($file1,$file2)
    {
    $tempo1 = filectime($file1);
    $tempo2 = filectime($file2);
    return ($tempo1 < $tempo2) ? 1 : -1;
    }
    if ($handle = opendir('http://www.parapendionline.com/images/'))
    {

    while (false !== ($file = readdir($handle)))

    {
    if ($file != "." && $file != "..") {
    $arrayfile[]=$file;

    }

    }

    closedir($handle);
    usort($arrayfile,'ordina');

    }

    ?>


    <HTML>
    <HEAD>
    <TITLE>webcam</TITLE>

    <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();", 10000);
    </SCRIPT>

    </HEAD>
    <BODY>
    <p align="center"></p>

    </BODY>
    </HTML>


    </body>

    </html>

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Ok, il fatto è che ordina in modo sbagliato.
    Fai così:

    Codice PHP:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 1</title>
    </head>

    <body>
    <?php 

    $arrayfile 
    = Array();

    function 
    ordina($file1,$file2)
    {
    $tempo1 explode('_',$file1);
    $tempo1 $tempo1[3];

    $tempo2 explode('_',$file2);
    $tempo2 $tempo2[3];

    return (
    $tempo1 $tempo2) ? : -1;
    }
    if (
    $handle opendir('http://www.parapendionline.com/images/'))
    {

    while (
    false !== ($file readdir($handle)))

    {
    if (
    $file != "." && $file != "..") {
    $arrayfile[]=$file;

    }

    }

    closedir($handle);
    usort($arrayfile,'ordina');

    }

    ?>


    <HTML>
    <HEAD>
    <TITLE>webcam</TITLE>

    <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();", 10000);
    </SCRIPT>

    </HEAD>
    <BODY>
    <p align="center">[img]http://www.parapendionline.com/images/<?php echo $arrayfile[0]; ?>[/img]</p>

    </BODY>
    </HTML>


    </body>

    </html>
    Cioè ordina per ultima modifica.
    In teoria quello che ho fatto funziona ma non l'ho provato.


  9. #9
    niente da fare...appare il riquadro dove dovrebbe esserci l'immagine, si vede il refresh ma niente immagine...

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    prova così

    Codice PHP:
    <?php 
    $tmp        
    =array();
    $cartella   ='var/ciccio/palla';
    $files      =glob($cartella.'/*.jpg');
    foreach(
    $files as $file){
        
    $tmp[filectime($file)]=$file;
        
    ksort($tmp,SORT_NUMERIC);
        }
    $ultima_foto=array_pop($tmp);

    echo 
    $ultima_foto;
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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 © 2025 vBulletin Solutions, Inc. All rights reserved.