Ciao a tutti, ho il seguente codice PHP che mostra un'immagine jpeg. Si tratta di un'immagine continuamente aggiornata sul server, che ogni tanto arriva leggermente "corrotta", come quella che allego. In realtà il file .jpg non è corrotto, può cioè essere aperto da qualsiasi programma (come anche io lo sto caricando qui e verrà visualizzato), semplicemente il caricamento non è andato perfettamente a buon fine e quindi l'immagine presenta dei "buchi". Veniamo al dunque: questo script riesce ad "accorgersi" se l'immagine è di questo tipo, e infatti in tal caso non mostra nulla. Volevo chiedervi: in quali righe si ritrova questa funzione? visto che lo script individua tali immagini, vorrei anche fare in modo che vengano eliminate. Grazie.

Schedule_20180120-163536.jpg


Codice PHP:
$nome_immagine="webcam.jpg";         // file contenente l'immagine

$nome_testo="testo.txt";         // file contenente le scritte


$testo_sinistra "Roma E.U.R. - Vista OVEST - romaeurmeteo.it - T $temp °C - UR $hum% - Vento $velvento km/h da $grvento - Pioggia $prec mm, $rrate mm/h";


$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");


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


$im  imagecreatefromjpeg($nome_immagine);

//$black = imagecolorallocate($im, 0, 0, 0);

//$white = imagecolorallocate($im, 255, 255, 255);

$colore_barra imagecolorallocate($im10255);      // colore della barra formato RGB

$colore_testo  imagecolorallocate($im255255255);   // idem per testo

$x=imagesx($im);

$y=imagesy($im);


$font "VeraBd.ttf";

$size 17;                     // dimensione del testo

$altezza_barra 38;                  // dimensione della barra



imagefilledrectangle($im0$y-$altezza_barra$x-1$y-1$colore_barra);


$bbox imagettfbbox ($size0$font$testo_sinistra);

$dy  = (($bbox[1] - $bbox[7]) / 2);

imagettftext($im$size05$y-($altezza_barra 2) + $dy 1$colore_testo$font
$testo_sinistra);

 
$bbox imagettfbbox ($size0$font$testo_destra);

$dx  = ($bbox[2] - $bbox[0]);

imagettftext($im$size0$x-5-$dx$y-($altezza_barra 2) + $dy 1$colore_testo$font$testo_destra);


$info getimagesize($nome_immagine);                  //carica immagine  


//$logo2 = imagecreatefrompng("logo.png") ;   //carica 2° logo - h/= cartella - caput-frigoris.png = nome del file e estensione.png


//imagecopy($im, $logo2, 10, $info[1]-990, 0, 0, 90,90); //(-,-,0 numero di pixel da sx verso dx,$info[1]-x la "x" detrae pixel dal basso verso l'alto, 171,37=dimensione 2°logo)posizione 2°logo(1400=x,800=y)


//$logo = imagecreatefrompng("banner.png") ;   //carica 2° logo - h/= cartella - caput-frigoris.png = nome del file e estensione.png


//imagecopy($im, $logo, 1700, $info[1]-1070, 0, 0, 210,100); //(-,-,0 numero di pixel da sx verso dx,$info[1]-x la "x" detrae pixel dal basso verso l'alto, 171,37=dimensione 2°logo)posizione logo(1400=x,800=y)


imagejpeg($im);

imagejpeg($im);

imagedestroy($im);