<?php
function checkPicture($url,$fulltest=false,$req_width=468,$req_height=60,$max_size=40)
{
$tempPath="c:/windows/temp/";
$result=true;
if(empty($url) || $url == 'http://' || !stristr($url,'http://') || (!stristr($url,'.gif') && !stristr($url,'.jpg') && !stristr($url,'.png')))
{
$result=false;
}
elseif(!eregi("^http://[a-z0-9]+([.-][a-z0-9]+)*\.[a-z]{2,4}(:[0-9]{2,5})?(/~[a-z0-9._-]+)?/[a-z0-9._/-]+\.(jpg|gif|png)$",$url))
{
$result=false;
}
elseif($fulltest)
{
$pictureSize=@getimagesize($url);
if(is_array($pictureSize))
{
if($pictureSize[0].'x'.$pictureSize[1] == $req_width.'x'.$req_height)
{
if($file=@fopen($url,'r'))
{
$pic_tmp=$tempPath.'pic-'.md5(time()).'.tmp';
if($file_tmp=@fopen($pic_tmp,'wb'))
{
while(!feof($file))
{
fwrite($file_tmp,fread($file,1024),1024);
}
fclose($file_tmp);
if(round(filesize($pic_tmp)/1000) > $max_size)
{
$result=false;
}
@unlink($pic_tmp);
}
else
{
$result=false;
}
fclose($file);
}
else
{
$result=false;
}
}
else
{
$result=false;
}
}
else
{
$result=false;
}
}
return $result;
}
/*Utilisation:
checkPicture($url); // test syntaxique uniquement
checkPicture($url,true); // vérife si la bannière fait 468x60 et 40ko max
checkPicture($url,true,120,120,20); // vérife si la bannière fait 120x120 et 20ko max
*/
?>
|