47 inscrits



  • Visites de la page : [1235]
  • Catégorie : Graphiques
  • Modifié le : 16-04-2004
  • Site auteur : Site de l'auteur




Voici une fonction qui permet de tester une image, d'abord syntaxiquement et ensuite en profondeur en testant le poids et la résolution...


   Code:
<?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
*/

?>


Aucun commentaire pour l'instant !



Nom / Pseudo :    
Email :
image de securisation du formulaire
Commentaire :




.: Easy-Script © 2002/2008 - Tous droits réservés - CNIL N°1098778 - Gén en 0.329 sec :.                        Top