Est-il possible de détecter les dimensions d'une image en php ?
				
			function resize($image , $largeur_max , $hauteur_max , $source , $destination , $prefixe){
 if (!file_exists($source.$image)) {
  echo "L'image $source$image n'existe pas";
  exit;
  }
 
  // On verifie que l'extention du fichier est bien une image jpg, jpeg ou gif
  $ext=strtolower(strrchr($image, '.'));
  if ($ext!=".jpg" AND $ext!=".jpeg" AND $ext!=".gif"){
  echo "<br>Votre image doit être un jpg, jpeg ou gif <br>";
  exit;
  }
 
  $size = getimagesize($source.$image);
 
  $largeur_src=$size[0];
  $hauteur_src=$size[1];
 
  //2ieme verification -> on verifie que le type du fichier est un jpg, jpeg ou gif
  // $size[2] -> type de l'image : 1 = GIF , 2 = JPG, JPEG
  if ($size[2]!=1 AND $size[2]!=2){
  echo "<br>Format non supporté<br>";
  exit;
  }
 
  if($size[2]==1){ // format gif
  $image_src=imagecreatefromgif($source.$image);
  }
 
  if($size[2]==2){ // format jpg ou jpeg
  $image_src=imagecreatefromjpeg($source.$image);
  }
 
 
  // on verifie que l'image source ne soit pas plus petite que l'image dedestination
  if ($largeur_src>$largeur_max OR $hauteur_src>$hauteur_max){
  // si la largeur est plus grande que la hauteur
  if ($hauteur_src<=$largeur_src){
  $ratio=$largeur_max/$largeur_src;
  }else{
  $ratio=$hauteur_max/$hauteur_src;
  }
  }else{
  $ratio=1; // l'image créee sera identique à l'originale
  }
 umask(022);
  $image_dest=imagecreatetruecolor(round($largeur_src*$ratio),
round($hauteur_src*$ratio));
  imagecopyresized($image_dest, $image_src, 0, 0, 0, 0,
round($largeur_src*$ratio), round($hauteur_src*$ratio), $largeur_src, $hauteur_src);
  if(!imagejpeg($image_dest, $destination.$prefixe.$image)){
  echo "la création de l'image a echouée pour l'image $image";
  chmod ('../articles/img/'.$prefixe.''.$image.'', 0777);
  exit;
  }
  else
  {
  echo 'la création de l\'image a fonctionné pour l\'image '.$destination.''.$prefixe.''.$image.' <br /> Pour la placer a droite dans l\'article: <br />[imgdroite]'.$prefixe.''.$image.'[/img]<br><br>Pour la placer a droite dans l\'article: <br />[imggauche]'.$prefixe.''.$image.'[/img]';
  exit;
  }
}
	<?php
include "../mainfile.php"; //fichier de conf, avec toutes les fonctions...
//--------------------------------------
//  DEFINITION DES VARIABLES
//--------------------------------------
$target     = "../articles/source/";  // Repertoire cible
$max_size   = 10000000;     // Taille max en octets du fichier
$width_max  = 10000000;        // Largeur max de l'image en pixels
$height_max = 10000000;        // Hauteur max de l'image en pixels
$extensions_ok = array("jpg","gif","png","jpeg");
//------------------------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU FICHIER
//------------------------------------------------------------
$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target.$_FILES['fichier']['name'];
$extension  = substr($nom_file,-3); // Récupération de l'extension
//---------------------------
//  SCRIPT D'UPLOAD
//---------------------------
if($_POST['posted'])
{
// On vérifie si le champ est rempli
  if($_FILES['fichier']['name'])
  {
     // On vérifie l'extension du fichier
    if(in_array(strtolower($extension),$extensions_ok))
    {
       // On récupère les dimensions du fichier
        $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
            
        // On vérifie les dimensions et taille de l'image
        if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
        {
           // Si c'est OK, on teste l'upload
            if(move_uploaded_file($tmp,$chemin))
            {
              // Si upload OK alors on affiche le message de réussite
                echo '<p>Image uploadée avec succès !</p>';
                echo '<ul><li>Fichier : '.$_FILES['fichier']['name'].'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
                echo '<li>Largeur : '.$infos_img[0].' px</li>';
                echo '<li>Hauteur : '.$infos_img[1].' px</li></ul>';
				chmod ('../articles/source/'.$_FILES['fichier']['name'].'', 0777);
               
            }
               else
            {
               // Sinon on affiche une erreur système
                echo '<p>Problème lors de l\'upload !</p>';
                
            }
        }
          else
        {
          // Sinon erreur sur les dimensions et taille de l'image
          echo '<p>Erreur dans les dimensions ou taille de l\'image !</p>';
        }
    }
      else
    {
      // Sinon on affiche une erreur pour l'extension
        echo '<p>Votre image ne comporte pas une extension valide !</p>';
        
    }
   }
    else
   {
    // Sinon on affiche une erreur pour le champ vide
    echo '<p>Le champ du formulaire est vide !</p>';
   }
}
									
		if (isset($_POST['taille'])){
		
$taille = $_POST['taille'];
if ($taille == a)
{
$larg = 260;
$haut = 200;
echo "Taille choisit: A<br />";
}
elseif ($taille == b)
{
$larg = 200;
$haut = 150;
echo "Taille choisit: B<br />";
}
elseif ($taille == c)
{
$larg = 230;
$haut = 175;
echo "Taille choisit: B<br />";
}
else
{
echo "Erreur de taille >>";
}
$number = mysql_query("SELECT id FROM articles ORDER BY id DESC LIMIT 0, 1");
list($id) = mysql_fetch_array($number);
$prefix = $id+1;
$prefi = ''.$prefix.'_';
$desti = "../articles/img/";
$sourc = '../articles/source/';
$limage = $_FILES['fichier']['name'];
resize($limage , $larg , $haut , $sourc , $desti , $prefi);
								}
?>
<html>
<head>
<title>Upload d'une image sur le serveur !</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<p>Envoyer le fichier :</p>
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<select name="taille">	
<OPTION value="a">Taille grande (a)
<OPTION value="b">Taille petite (b)
<OPTION value="c">Taille moyenne (c)
</select>
<input type="submit" value="Uploader">
</form><br>
<img src="A.gif" width="260" height="200"> <img src="C.gif" width="230" height="175"> <img src="B.gif" width="200" height="150">
</body>
</html>
	➡️ Offre MyRankingMetrics ⬅️
        pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
        coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)
    
Voir les détails ici