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:
Grazie a chiunque mi possa aiutare..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'); ?>
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
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
Buongiorno Pierantonio
lo script che hai pubblicato come deve essere chiamato e dove va inserito?
grazie, Valter
Buongiorno Roberto
sto cercando anch'io uno script a tale scopo
ma quello ce hai scritto come va chiamato e dove va inserito?
grazie, Valter
Segnalibri