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