Risultati da 1 a 5 di 5
  1. #1
    Calma di vento
    Data Registrazione
    30/06/17
    Località
    cerea
    Messaggi
    3
    Menzionato
    0 Post(s)

    Predefinito Script php per cancellare immagini

    Buonasera a tutti, chiedo un'aiuto in quanto non riesco a uscirne da solo, mi sono creato uno script scoppiazzando qua e là per rinominare un file che crea la mia webcam foscam c1 lite , in nome standard webcam.jpg in quanto crea un file incrementale ad ogni invio, ora non riesco ad uscirne per creare un secondo script che mi possa cancellare tutti i files creati senza che occupi spazio, uso altervista.
    il sito è pierantonio81.altervista.org

    lo script che mi genera il nome del file in webcam è questo, magari può servire a qualcuno:
    Codice:
    <?
    $files = glob("./*.jpg");
    $mtimes = array();
    
    foreach ($files as $f) {    
          $mtimes[] = filemtime($f);
    }
    $files = array_combine($mtimes, $files);
    ksort($files);
    
    $last = array_values($files);
    $last = $last[count($last) - 1];
    
    copy($last, 'webcam2.jpg'); // copio ultima immagine $last e rinomino in webcam.jpg
    copy('webcam2.jpg','../../../webcam/webcam2.jpg');
    ?>
    Grazie a chiunque mi possa aiutare..
    Pierantonio

  2. #2
    myMeteoNetwork Team L'avatar di Orso Polare
    Data Registrazione
    18/09/08
    Località
    Roma
    Età
    72
    Messaggi
    5,262
    Menzionato
    18 Post(s)

    Predefinito Re: Script php per cancellare immagini

    Citazione Originariamente Scritto da pier1981 Visualizza Messaggio
    Buonasera a tutti, chiedo un'aiuto in quanto non riesco a uscirne da solo, mi sono creato uno script scoppiazzando qua e là per rinominare un file che crea la mia webcam foscam c1 lite , in nome standard webcam.jpg in quanto crea un file incrementale ad ogni invio, ora non riesco ad uscirne per creare un secondo script che mi possa cancellare tutti i files creati senza che occupi spazio, uso altervista.
    il sito è pierantonio81.altervista.org

    lo script che mi genera il nome del file in webcam è questo, magari può servire a qualcuno:
    CUT
    Grazie a chiunque mi possa aiutare..
    Pierantonio
    Pierantonio ciao e benvenuto in questa stanza
    In molti usano questo PHP che genera un file di nome "webcam.jpg" e che elimina anche tutti gli altri file di origine che iniziano con il nome "Schedule" lasciandone solo i due più "giovani"
    Oltre al codice che trovi sotto, avrai bisogno o di eliminare/modificare i giusti riferimenti oppure di cercare in rete il font "VeraBd.ttf" ed anche di creare o in modo statico o in modo dinamico, un file di testo chiamato "testo.txt"
    Se hai avuto capacità di adattare il PHP che hai accluso a questo post, non ti mancherà la capacità di adattare il codice che trovi sotto, alle tue esigenze e in particolare riguardo alle due cose scritte nella riga sopra...
    Codice HTML:
    <?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", 0, 8) == "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');
    
     
      // cancella tutti i file i cui nomi sono nell'array
      for($index=0; $index < $fileCount; $index++) {
            $fileDaCancellare = $directory[$index];
          unlink($fileDaCancellare);
      }
    
    $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");
    
    $im  = imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $colore_barra = imagecolorallocate($im, 153, 102, 51);      // colore della barra formato RGB
    $colore_testo  = imagecolorallocate($im, 255, 255, 255);   // idem per testo
    $x=imagesx($im);
    $y=imagesy($im);
    
    $font = "VeraBd.ttf";
    $size = 10;                     // dimensione del testo
    $altezza_barra = 25;                  // dimensione della barra
    
    
    imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra);
    
    $bbox = imagettfbbox ($size, 0, $font, $testo_sinistra);
    $dy  = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_sinistra);
     
    $bbox = imagettfbbox ($size, 0, $font, $testo_destra);
    $dx  = ($bbox[2] - $bbox[0]);
    imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra);
    imagepng($im);
    imagedestroy($im);
    
    ?>
    ciao a tutti da Roberto

    Stazione Davis 6163 VP2 Plus
    La mia webcam a Nord La mia webcam a Ovest



    Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente

  3. #3
    Calma di vento
    Data Registrazione
    30/06/17
    Località
    cerea
    Messaggi
    3
    Menzionato
    0 Post(s)

    Predefinito Re: Script php per cancellare immagini

    Citazione Originariamente Scritto da Orso Polare Visualizza Messaggio
    Pierantonio ciao e benvenuto in questa stanza
    In molti usano questo PHP che genera un file di nome "webcam.jpg" e che elimina anche tutti gli altri file di origine che iniziano con il nome "Schedule" lasciandone solo i due più "giovani"
    Oltre al codice che trovi sotto, avrai bisogno o di eliminare/modificare i giusti riferimenti oppure di cercare in rete il font "VeraBd.ttf" ed anche di creare o in modo statico o in modo dinamico, un file di testo chiamato "testo.txt"
    Se hai avuto capacità di adattare il PHP che hai accluso a questo post, non ti mancherà la capacità di adattare il codice che trovi sotto, alle tue esigenze e in particolare riguardo alle due cose scritte nella riga sopra...
    Codice HTML:
    <?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", 0, 8) == "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');
    
     
      // cancella tutti i file i cui nomi sono nell'array
      for($index=0; $index < $fileCount; $index++) {
            $fileDaCancellare = $directory[$index];
          unlink($fileDaCancellare);
      }
    
    $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");
    
    $im  = imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $colore_barra = imagecolorallocate($im, 153, 102, 51);      // colore della barra formato RGB
    $colore_testo  = imagecolorallocate($im, 255, 255, 255);   // idem per testo
    $x=imagesx($im);
    $y=imagesy($im);
    
    $font = "VeraBd.ttf";
    $size = 10;                     // dimensione del testo
    $altezza_barra = 25;                  // dimensione della barra
    
    
    imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra);
    
    $bbox = imagettfbbox ($size, 0, $font, $testo_sinistra);
    $dy  = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_sinistra);
     
    $bbox = imagettfbbox ($size, 0, $font, $testo_destra);
    $dx  = ($bbox[2] - $bbox[0]);
    imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra);
    imagepng($im);
    imagedestroy($im);
    
    ?>
    Ciao Orso Polare, grazie mille !!
    Ora sto facendo delle prove e mettendo questo super script nella cartella ../snap mi funzia tutto correttamente, anche il testo.txt generato dal software weewx che ho sul raspberry, ho solo modificato i path, ho inserito tutto nella cartella snap in quanto altrimenti non sono riuscito a farlo funzionare.
    Però va benissimo anche così!
    Grazie mille

    Ciao, Pierantonio

  4. #4
    myMeteoNetwork Team L'avatar di Orso Polare
    Data Registrazione
    18/09/08
    Località
    Roma
    Età
    72
    Messaggi
    5,262
    Menzionato
    18 Post(s)

    Predefinito Re: Script php per cancellare immagini

    Citazione Originariamente Scritto da pier1981 Visualizza Messaggio
    Ciao Orso Polare, grazie mille !!
    Ora sto facendo delle prove e mettendo questo super script nella cartella ../snap mi funzia tutto correttamente, anche il testo.txt generato dal software weewx che ho sul raspberry, ho solo modificato i path, ho inserito tutto nella cartella snap in quanto altrimenti non sono riuscito a farlo funzionare.
    Però va benissimo anche così!
    Grazie mille

    Ciao, Pierantonio
    Prego.....
    Si, questo "super script" come lo hai definito , nasce in particolare per le Foscam serie 9xxx che per default creano inevitabilmente una cartella con il loro "MAC Address" e una sotto cartella di nome "snap" per cui era obbligatorio mettere questo PHP in "snap" a meno di andare a modificare la Path nella apposito riga di codice se diversamente .
    Giusto per correttezza.... il codice non è farina del mio sacco ma..... con tutta probabilità frutto di aggiustamenti successivi e per merito di più mani.
    Se sei interessato ad inserire sullo scatto pubblicato, loghi o simili e se la tua Foscam permette una creazione di frame intorno al secondo, puoi "rifinire" il lavoro prendendo spunto da questo mio PDF.

    ciao a tutti da Roberto

    Stazione Davis 6163 VP2 Plus
    La mia webcam a Nord La mia webcam a Ovest



    Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente

  5. #5
    Calma di vento
    Data Registrazione
    30/06/17
    Località
    cerea
    Messaggi
    3
    Menzionato
    0 Post(s)

    Predefinito Re: Script php per cancellare immagini

    Citazione Originariamente Scritto da Orso Polare Visualizza Messaggio
    Prego.....
    Si, questo "super script" come lo hai definito , nasce in particolare per le Foscam serie 9xxx che per default creano inevitabilmente una cartella con il loro "MAC Address" e una sotto cartella di nome "snap" per cui era obbligatorio mettere questo PHP in "snap" a meno di andare a modificare la Path nella apposito riga di codice se diversamente .
    Giusto per correttezza.... il codice non è farina del mio sacco ma..... con tutta probabilità frutto di aggiustamenti successivi e per merito di più mani.
    Se sei interessato ad inserire sullo scatto pubblicato, loghi o simili e se la tua Foscam permette una creazione di frame intorno al secondo, puoi "rifinire" il lavoro prendendo spunto da questo mio PDF.

    Wow! grazie ancora, ora sono in ferie, la prox settimana dò un'occhiata !
    Molte grazie !!

    CIaooo

    Pierantonio


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
  •