Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-08-2014, 16:37   #1
Venosino1
Senior Member
 
L'Avatar di Venosino1
 
Iscritto dal: Feb 2008
Città: Venosa (PZ) / Bari
Messaggi: 1114
[PHP] Condizione su data creazione file

Ciao a tutti.
Gestisco una webcam meteorologica (ww w.venosameteo.it/cam.php, link volutamente errato poichè c'è un antihotlink) e, come potete vedere, utilizzo un file php per sovrapporre all'immagine .jpg una barra contenente alcuni dati meteorologici e la data dello scatto.
Per la data viene letta quella di creazione dell'immagine jpg, inviata al server ogni 2-3 minuti.
Capita però che il pc si spenga e finchè non viene riavviato la webcam resta ferma. Quello che ho pensato è di sovrapporre la scritta "Webcam offline" all'immagine quando questa non viene aggiornata per un periodo di 15-20 minuti. Il problema è che non ho idea di come impostare il controllo sul "filemtime"...

Questo è il codice del .php:

Codice PHP:
<?

  header
('Cache-Control: no-cache');

  
header('Pragma: no-cache');

  
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');



$nome_immagine="cam.jpg"; // nome immagine webcam

$nome_testo="t.txt";

$nome_testo2="temp.txt";

$nome_testo5="umid.txt";

$nome_testo6="vent.txt";

$nome_testo7="pres.txt";

$nome_testo8="piog.txt";


$fp = fopen($nome_testo,"r")

   or die(
"No txt file");

$fp2 = fopen($nome_testo2,"r")

   or die(
"No txt file");

$fp5 = fopen($nome_testo5,"r")

   or die(
"No txt file");

$fp6 = fopen($nome_testo6,"r")

   or die(
"No txt file");

$fp7 = fopen($nome_testo7,"r")

   or die(
"No txt file");

$fp8 = fopen($nome_testo8,"r")

   or die(
"No txt file");

$testo_sinistra=fgets($fp,150);

$testo_destra=fgets($fp,50);

$testo_temp=fgets($fp2,50);

$testo_umid=fgets($fp5,50);

$testo_vent=fgets($fp6,50);

$testo_pres=fgets($fp7,50);

$testo_piog=fgets($fp8,50);

if ( 
$testo_destra = "data" )

   {

   
setlocale(LC_TIME,"it_IT");

   
$testo_destra=strftime ("%d %B %Y, ore %H:%M", filemtime($nome_immagine));

   }

fclose($fp);

fclose($fp2);

fclose($fp5);

fclose($fp6);

fclose($fp7);

fclose($fp8);

header("Content-type: image/jpeg");

$im  = imagecreatefromjpeg($nome_immagine);

$logo6 = imagecreatefrompng('barra2.png');

$logo7 = imagecreatefrompng('./icons/t2.png');

$logo8 = imagecreatefrompng('./icons/u2.png');

$logo9 = imagecreatefrompng('./icons/v2.png');

$logo10 = imagecreatefrompng('./icons/ps2.png');

$logo11 = imagecreatefrompng('./icons/p2.png');

$imagewidth = imagesx($im);

$imageheight = imagesy($im);

$logo6width =  imagesx($logo6);

$logo6height =  imagesy($logo6);

$logo7width =  imagesx($logo7);

$logo7height =  imagesy($logo7);

$logo8width =  imagesx($logo8);

$logo8height =  imagesy($logo8);

$logo9width =  imagesx($logo9);

$logo9height =  imagesy($logo9);

$logo10width =  imagesx($logo10);

$logo10height =  imagesy($logo10);

$logo11width =  imagesx($logo11);

$logo11height =  imagesy($logo11);

$startwidth = (($imagewidth - $logowidth) );

$startheight = (( $imageheight - $logoheight) );

$startwidth6 = (($imagewidth - $logo6width) );

$startheight6 = (( $imageheight - $logo6height) );

$startwidth7 = (($imagewidth - $logo7width) );

$startheight7 = (( $imageheight - $logo7height) );

$startwidth8 = (($imagewidth - $logo8width) );

$startheight8 = (( $imageheight - $logo8height) );

$startwidth9 = (($imagewidth - $logo9width) );

$startheight9 = (( $imageheight - $logo9height) );

$startwidth10 = (($imagewidth - $logo10width) );

$startheight10 = (( $imageheight - $logo10height) );

$startwidth11 = (($imagewidth - $logo11width) );

$startheight11 = (( $imageheight - $logo11height) );

$colore_testo  = imagecolorallocate($im, 255, 255, 255);

$x=imagesx($im);

$y=imagesy($im);

$font = "verdana.ttf";

$size = 11;

$size2 = 11.5;

$size3 = 9;

$sizetestodestra = 10;

imagettftext($logo6, $size2, 0, 20, 21, $colore_testo, $font, 'Venosa (PZ) - 415m slm');  // nome località

imagettftext($logo6, $size3, 0, 1076, 27, $colore_testo, $font, '© www.venosameteo.it');  // copyright

imagettftext($logo6, $sizetestodestra, 0, 1060, 14, $colore_testo, $font,  $testo_destra); // data e ora

$sizetemp = 18;

$colore_temp = imagecolorallocate($logo6, 255, 153, 0);

imagettftext($logo6, $size, 0, 300, 21, $colore_testo, $font, $testo_temp);

imagettftext($logo6, $size, 0, 402, 21, $colore_testo, $font, $testo_umid);

imagettftext($logo6, $size, 0, 643, 21, $colore_testo, $font, $testo_vent);

imagettftext($logo6, $size, 0, 500, 21, $colore_testo, $font, $testo_pres);

imagettftext($logo6, $size, 0, 830, 21, $colore_testo, $font, $testo_piog);

$info = getimagesize($nome_immagine);


imagecopy($im, $logo6, 0, 929, 0, 0, $logo6width, $logo6height);

imagecopy($im, $logo7, 270, 933, 0, 0, $logo7width, $logo7height);

imagecopy($im, $logo8, 372, 930, 0, 0, $logo8width, $logo8height);

imagecopy($im, $logo9, 610, 933, 0, 0, $logo9width, $logo9height);

imagecopy($im, $logo10, 465, 934, 0, 0, $logo10width, $logo10height);

imagecopy($im, $logo11, 795, 933, 0, 0, $logo11width, $logo11height);


imageinterlace($im, TRUE); 

imagejpeg($im,"",93);

imagedestroy($im);

imagedestroy($logo6);

imagedestroy($logo7);

imagedestroy($logo8);

imagedestroy($logo9);

imagedestroy($logo10);

imagedestroy($logo11);

?>
Qualcuno sa aiutarmi?

Ultima modifica di Venosino1 : 29-08-2014 alle 16:40.
Venosino1 è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2014, 22:54   #2
Brun
Member
 
L'Avatar di Brun
 
Iscritto dal: May 2006
Città: Milano e Brianza
Messaggi: 132
Non sono sicuro di aver compreso bene la domanda, ma la funzione filemtime() restituisce come al solito il timestamp Unix (che è un intero di secondi calcolato a partire dal 1 gennaio 1970).
Quindi, sempre se non ho capito male, ti basterebbe fare un controllo dell'ora attuale (con la funzione time()) e sottrarre il tempo dell'immagine "vecchia". L'if si basa sulla differenza in secondi tra i due orari, se è maggiore di un tot (per esempio i tuoi 15 minuti, ovvero 900 secondi) allora fai X altrimenti Y.
__________________
Trattative concluse con: italia2006, deggial, adriandaniel, guant4namo, stefo85, djfolle27, Kinta, itan1, CoMa666, nicacin
Brun è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2014, 17:50   #3
Venosino1
Senior Member
 
L'Avatar di Venosino1
 
Iscritto dal: Feb 2008
Città: Venosa (PZ) / Bari
Messaggi: 1114
Quote:
Originariamente inviato da Brun Guarda i messaggi
Non sono sicuro di aver compreso bene la domanda, ma la funzione filemtime() restituisce come al solito il timestamp Unix (che è un intero di secondi calcolato a partire dal 1 gennaio 1970).
Quindi, sempre se non ho capito male, ti basterebbe fare un controllo dell'ora attuale (con la funzione time()) e sottrarre il tempo dell'immagine "vecchia". L'if si basa sulla differenza in secondi tra i due orari, se è maggiore di un tot (per esempio i tuoi 15 minuti, ovvero 900 secondi) allora fai X altrimenti Y.
Grazie, ho fatto il confronto tra data attuale e della foto (dovesse l'offline prolungarsi per più di un giorno).

Codice PHP:
...
$dataimmagine=filemtime($nome_immagine);
$dataattuale=mktime();
$differenza=($dataattuale-$dataimmagine);
$colore  = imagecolorallocate($im, 255, 0, 0);
$sizeoff = 18;
if ( 
$differenza > 900 )

   {

imagettftext($im, $sizeoff, 0, 410, 220, $colore, $font, 'Webcam momentaneamente offline');

   }
... 

Ultima modifica di Venosino1 : 05-09-2014 alle 17:53.
Venosino1 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2014, 16:10   #4
Brun
Member
 
L'Avatar di Brun
 
Iscritto dal: May 2006
Città: Milano e Brianza
Messaggi: 132
Esatto. Hai provato a vedere se funziona come desideri?
__________________
Trattative concluse con: italia2006, deggial, adriandaniel, guant4namo, stefo85, djfolle27, Kinta, itan1, CoMa666, nicacin
Brun è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2014, 16:13   #5
Venosino1
Senior Member
 
L'Avatar di Venosino1
 
Iscritto dal: Feb 2008
Città: Venosa (PZ) / Bari
Messaggi: 1114
Quote:
Originariamente inviato da Brun Guarda i messaggi
Esatto. Hai provato a vedere se funziona come desideri?
Sì, funziona perfettamente. Ancora grazie.
Venosino1 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v