[PHP] Script Ip camera su altervista senza sottocartelle

AntonioIrpino

Nuovo Utente
22 Set 2018
5
0
1
Ciao raga. Possiedo una Ip Camera la quale invia tramite ftp al mio hosting di altervista, un'immagine ogni 5 secondi. Scopiazzando su qualche forum ho tirato fuori uno script PHP, ve lo posto alla fine, che mi permette di organizzare le immagini, di refreshare ogni 5 secondi e di cancellare ogni 120 secondi le immagini che vengono caricate.
Fin qui tutto bene. Il problema è che la mia IpCamera genera ogni giorno una directory diversa del tipo 20180922 e una sottocartella denominata "images", quindi sono costretto ogni giorno a dovere prendere lo script, e copiarlo nelle nuove directory che genera. È un po scocciante... esiste la possibilità di evitare tutto ciò con uno script?... e cioè evitare la creazione di nuove directory, magari portando le immagini caricate tutte in un'unica cartella, meglio se quella principale?

Grazie in anticipo.
Ecco lo script.
PHP:
<?php
    header("refresh: 5;");

//Selezioni tutte le immagini .jpg della cartella, e le metto nell'array $images
$images = glob("*.jpg");

//Prendo l'immagine con il numero massimo (presumo sua l'ultima scattata)
$max = max($images);

//Creo una risorsa GD per quell'immagine
$image = imagecreatefromjpeg($max);

//Notifico il browser che quello che sto per mostrare è un'immagine
header("content-type: image/jpeg");

//Faccio l'output della risorsa GD
imagejpeg($image);

if ($o_img_width / $o_img_height > $rett_width / $rett_height) {  // Caso 1
    $n_img_width = $rett_width;
    $n_img_height = $n_img_width / $o_img_width * $o_img_height;

}

else {  // Caso 2
    $n_img_height = $rett_height;
    $n_img_width = $n_img_height / $o_img_height * $o_img_width;

}   

$dir = getcwd()."/";//dir absolute path
$interval = strtotime('-120 seconds');//files older than 24hours

foreach (glob($dir."*.jpg") as $file)
//delete if older
if (filemtime($file) <= $interval ) unlink($file);

?>
 
Ultima modifica di un moderatore:
nell'istruzione "glob" potresti passare il percorso dove si trovano i files, usando la data ….
in modo da mantenere lo script fuori dalle cartelle
PHP:
<?php
$date = ( new DateTime() )->format('Ymd');
echo $date."<br /><br />";

$date = ( new DateTime("-1 day") )->format('Ymd');
echo $date."<br /><br />";
?>

upload_2018-9-22_17-16-10.png
 
nell'istruzione "glob" potresti passare il percorso dove si trovano i files, usando la data ….
in modo da mantenere lo script fuori dalle cartelle
PHP:
<?php
$date = ( new DateTime() )->format('Ymd');
echo $date."<br /><br />";

$date = ( new DateTime("-1 day") )->format('Ymd');
echo $date."<br /><br />";
?>

Vedi l'allegato 5705

Ciao Marino, intendi sostituire il glob, con il codice date?
Ci ho provato ma nulla... non va!
 
Ho provato anche ad inserire un glob del tipo
$images = glob("meteo/*/*/*.jpg");
per verificare se il glob riesce a ricercare anche nelle sottocartelle ma nulla...
 
@AntonioIrpino
Quando posti codice PHP devi usare il tag [ PHP] non il tag [ CODE]
Grazie
Per questa volta te lo correggo io
 
Mi scuso @Max 1 . Sono appena iscritto!
Comunque @marino51 ho risolto... $images = glob("*/*/*/*.jpg"); c'erano altre sottocartelle, che non avevo inserito nel glob.
Così facendo, lo script è fuori dalle cartelle.

Adesso ho solo il problema di svuotare i file *jpg generati dalla ip camera, con le relative sottocartelle.
Esiste un modo per impostare che dopo un tot di ore quella directory deve svuotarsi?
 

Discussioni simili