Ciao a tutti!
Dispongo di una webcam che ogni 2 minuti invia sul sito una immagine jpg ed utilizzo un file php per sovrapporre all'immagine un loghetto e la barra con data e ora dello scatto:
http://meteovulture.com/webcam.jpg
http://meteovulture.com/webcam.php
Questo è il codice php:
<?php
$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");
$im = imagecreatefromjpeg($nome_immagine);
//$black = imagecolorallocate($im, 0, 0, 0);
//$white = imagecolorallocate($im, 255, 255, 255);
$colore_barra = imagecolorallocate($im, 1, 0, 128); // 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 = 8; // dimensione del testo
$altezza_barra = 20; // 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);
//inserisco logo
$logo = @imagecreatefrompng('logocam.png');
$imagewidth = imagesx($im);
$imageheight = imagesy($im);
$logowidth = imagesx($logo);
$logoheight = imagesy($logo);
$startwidth = (($imagewidth - $logowidth) );
$startheight = (( $imageheight - $logoheight) );
/*imagecopy(immagine, logo, starwidth, startheight(pixel di partenza
da dove incollare il logo. Le coordinate partono da in alto a sinistra
e crescono andando verso il basso e verso destra), startwidthlogo,
startheightlogo(pixels di partenza da dove copiare l'immagine del logo.
Per copiare tutto il logo mettere 0, 0), logowidht, logoheight(numero
di pixel da copiare del logo. Si parte sempre da in alto a sinistra a
contare)) */
imagecopy($im, $logo, $startwidth, 0, 0, 0, $logowidth, $logoheight);
imagejpeg($im,"",95);
/* Per incollare più loghi ripetere la procedura ricordandosi di mettere
in fondo il comando: "imagedestroy($logo2)". E così via.. */
imagejpeg($im,"",95);
imagedestroy($im);
?>
Ora vorrei inserire qualcosa per fare in modo che, nel caso manchi il file webcam.jpg, compaia un'immagine "Webcam non disponibile" (ho creato una immagine, nondisp.jpg).
Mi hanno consigliato di utilizzare un if (file_exist .. else .. ecc ma non sono molto esperto di php e non saprei come e dove inserirlo.
Potreste darmi una mano?

Rispondi quotando