Buonasera a tutti,
per il mio sito ho una fotocamera Reolink che scatta una foto ogni 5 minuti ed invia l'immagine via FTP al server.
La fotocamera è impostata per far si che ogni giorno si generi una nuova cartella nel server, con criterio anno/mese/giorno.
La mia necessità è di avere nella cartella principale /cam l'ultima immagine scattata dalla fotocamera.
All'interno di ogni anno/mese/giorno sono riuscito ad impostare un codice funzionante che riporto, ma non è quello che mi serve.
Questo è il link:
Come posso adattare il codice nella directory principale /cam?
Grazie in anticipo per chi vorrà aiutarmi.
Federico Pasquale
per il mio sito ho una fotocamera Reolink che scatta una foto ogni 5 minuti ed invia l'immagine via FTP al server.
La fotocamera è impostata per far si che ogni giorno si generi una nuova cartella nel server, con criterio anno/mese/giorno.
La mia necessità è di avere nella cartella principale /cam l'ultima immagine scattata dalla fotocamera.
All'interno di ogni anno/mese/giorno sono riuscito ad impostare un codice funzionante che riporto, ma non è quello che mi serve.
Questo è il link:
Come posso adattare il codice nella directory principale /cam?
Grazie in anticipo per chi vorrà aiutarmi.
Federico Pasquale
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('../23');
// 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) == "Cam_01_2") {
$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);
$fileCount2 = $fileCount - 2;
// copia il file piu' nuovo in webcam.jpg
// $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)
$index = $fileCount - 2; // era -1 modifica 24-07-2014
$fileDaCopiare = $directory[$index];
copy($fileDaCopiare, 'webcam.jpg');
// cancella tutti i file i cui nomi sono nell'array
for($index=0; $index < $fileCount2; $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($fileDaCopiare)); // era nome_immagine mod 28-07-2014
}
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, 0, 0, 0); // 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 = 15; // dimensione del testo
$altezza_barra = 35; // 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);
?>
Ultima modifica di un moderatore: