Risultati da 1 a 2 di 2
  1. #1
    Vento moderato L'avatar di sheldon
    Data Registrazione
    12/01/12
    Località
    Roma E.U.R./Abbadia San Salvatore
    Messaggi
    1,182
    Menzionato
    3 Post(s)

    Predefinito Aiuto script PHP per Foscam

    Ciao a tutti,
    per visualizzare sul mio sito le immagini della mia webcam Foscam FI9900P sto utilizzando lo script php che vedete più in basso. Tale script non è stato realizzato da me, ma mi sono limitato ad implementarlo sul server. In particolare, esso trova l'ultima immagine caricata sul server dalla webcam e ne fa una copia dal nome webcam.jpg.
    Quello che vorrei fare io è organizzare in cartelle, all'interno del server, le immagini che vengono caricate, ovvero dedicare una cartella ad ogni giorno.
    Le immagini vengono caricate con nomi del tipo: "Schedule_20180118-235936.jpg", cioè "Schedule_anno mese giorno-ora minuti secondi.jpg", e stanno tutte nella stessa cartella ove è situato il file .php. E' possibile realizzare ciò?

    Ho poi un'altra domanda: ho notato che quando la webcam carica un'immagine corrotta, come quella allegata, lo script, pur rinominandola webcam.jpg, non la mostra. Vorrei capire come fa lo script ad "accorgersi" che l'immagine è corrotta, perché ad ogni modo tali immagini vengono caricate e i files non sono danneggiati, ma possono essere aperti dai programmi del pc. Quello che vorrei fare è, in caso che vengano caricate foto del genere, cancellarle.

    Grazie in anticipo
    Schedule_20180120-163536.jpg




    Codice PHP:

    <?php
        header
    ("Refresh: 60; url=" $_SERVER["PHP_SELF"]);
        
    // prepara l'array per i nomi dei file
        
    $directory = array();


        
    // prepara l'handler per la directory
        
    $handler opendir('../snap');


        
    // apre la directory e legge i singoli nomi dei file
        
    while ($file readdir($handler)) {


        
    // se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array
          
    if (substr("$file"08) == "Schedule") {
            
    $directory[] = $file;
          }


        }


        
    // chiude l'handler
        
    closedir($handler);


      
    // ordina la lista dei file per nome (il piu' nuovo sara' l'ultimo)
      
    sort($directory);


      
    //  conta i file
      
    $fileCount  count($directory);


      
    // copia il file piu' nuovo in webcam.jpg
      // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)
      
    $index $fileCount 1;
      
    $fileDaCopiare $directory[$index];
      
    copy($fileDaCopiare'webcam.jpg');



    $nome_immagine="webcam.jpg";         // file contenente l'immagine
    $nome_testo="testo.txt";         // file contenente le scritte


    $fp fopen($nome_testo,"r")
      or die(
    "impossibile aprire il file testo.txt.");
    $testo_sinistra=fgets($fp,100);         // nella prima riga la scritta allineata a sinistra
    $testo_destra=fgets($fp,100);         // nella seconda riga la scritta allineata a destra
    if ( $testo_destra "data" )
      {
      
    setlocale(LC_TIME,"it_IT");
      
    $testo_destra=strftime ("%a %d %b %Y %H:%M:%S"filemtime($nome_immagine));
      }
    fclose($fp);


    header("Content-type: image/png");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0"false);
    header("Pragma: no-cache");


    header("Content-type: image/jpeg");


    $im  imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $colore_barra imagecolorallocate($im10255);      // colore della barra formato RGB
    $colore_testo  imagecolorallocate($im255255255);   // idem per testo
    $x=imagesx($im);
    $y=imagesy($im);


    $font "VeraBd.ttf";
    $size 18;                     // dimensione del testo
    $altezza_barra 38;                  // dimensione della barra




    imagefilledrectangle($im0$y-$altezza_barra$x-1$y-1$colore_barra);


    $bbox imagettfbbox ($size0$font$testo_sinistra);
    $dy  = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im$size05$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_sinistra);
     
    $bbox imagettfbbox ($size0$font$testo_destra);
    $dx  = ($bbox[2] - $bbox[0]);
    imagettftext($im$size0$x-5-$dx$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_destra);


    $info getimagesize($nome_immagine);                  //carica immagine  

    imagejpeg($im);
    imagejpeg($im);
    imagedestroy($im);
    ?>

    Dati in tempo reale Roma EUR (24 m): http://www.romaeurmeteo.it
    Dati in tempo reale Abbadia San Salvatore (850 m)
    https://www.meteoamiata.it/
    Il sito di Meteo Lazio: http://www.meteoregionelazio.it

  2. #2
    Burrasca L'avatar di Manuel98
    Data Registrazione
    22/09/11
    Località
    Marconia(MT) 86m
    Età
    25
    Messaggi
    6,853
    Menzionato
    14 Post(s)

    Predefinito Re: Aiuto script PHP per Foscam

    Come hai risolto?
    My sitometeo con dashboard di tutti i dati della mia stazione aggiornati ogni minuto --> http://marconiameteo.altervista.org/

    Ultima immagine 4K (aggiornata ogni minuto) --> https://assets3.webcam.io/w/P1a2OP/latest_hd.jpg

    My Webcam 4K in Marconia (MT) - direzione N (si vedono 2/3 della Puglia + Adriatico) --> https://webcam.io/webcams/P1a2OP (timelapse)


    Inverno 2011/2012: 6-7 Febbraio 2012 (3 cm a terra, 7-10 cm eolici)
    Inverno 2012/2013: 9-10 Febbraio 2013 (Neve farinosa)
    Inverno 2013/2014: l'inverno del nulla cosmico.
    Inverno 2014/2015: el buco metapontino
    Inverno 2015/2016: nada de nada
    Inverno 2016/2017: 6-7-8-9-10 Gennaio 2017 "The Story" (>20cm)
    Inverno 2018/2019: 3-4 Gennaio 2019 "Goduria (>10cm)


Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •