Code : Tout sélectionner
// Recuperation du lien
if(isset($_FILE['image1'])){ $g1_photo= $_FILE['image1'];} else{ $g1_photo="images/grande/defaut.jpg"; $p1_photo="images/petite/defaut.jpg";}
//on traite la variable $image1: upload de l'image1
if ($_FILES['image1']['type'] == "image/gif" || $_FILES['image1']['type'] == "image/jpeg" || $_FILES['image1']['type'] == "image/pjpeg")
{
$nouveau_chemin = "../images/grande/";
$photo=$_FILES['image1']['name'];
$cible=$nouveau_chemin.$photo;
$temporaire=$_FILES['image1']['tmp_name'];
move_uploaded_file($temporaire, $cible) or die ("uploaded non effectué");
$fichierSource = "images/grande/$photo";
$g1_photo=$fichierSource;
//on crée un image vide dans laquelle se trouvera la miniature
$source = ImageCreateFromJpeg($cible) or die ("creation de l'image erronée");
$largeurSource = imagesx($source); //on recupere la taille original de l'image
$hauteurSource = imagesy($source);
if($largeurSource> $hauteurSource)
{
$new_largeur = 210; // largeur a definir
$new_hauteur = ($new_largeur * $hauteurSource) / $largeurSource ; // hauteur proportionnelle
}
if($hauteurSource>$largeurSource)
{
$new_largeur = 150; // largeur a definir
$new_hauteur = ($new_largeur * $hauteurSource) / $largeurSource ; // hauteur proportionnelle
}
if($hauteurSource == $largeurSource)
{
$new_largeur = 200 ; // largeur a definir
$new_hauteur = 200 ; // hauteur proportionnelle
}
$im = ImageCreateTrueColor ($new_largeur, $new_hauteur) or die ("Erreur lors de la création de l'image3");
ImageCopyResampled($im, $source, 0, 0, 0, 0, $new_largeur, $new_hauteur, $largeurSource, $hauteurSource);
$photo1 = "../images/petite/".$photo;
ImageJpeg ($im,$photo1);
$p1_photo = "images/petite/".$photo;
}
else
{
echo"<br>";
echo "Ne mettez que des images GIF ou JPG pour le champ 1<br>Recommencer l'opération pour l'image 1<br>";
echo"<br>";
}
C'est très gentil de lui passer TON code, mais à ma connaissance, il n'a jamais demander qu'on lui passe un code tout fait, slipndi a posé une question et demandé des avis et c'est tout. Je trouve donc ta remarque totalement injustifiéJe te passe le mien mais la prochaine fois cherche un peu ...
Avec une méthode assez barbare et peu fiable, tu testes si l'image a une hauteur plus importante que la largeur à ce moment là tu peux en déduire que ton image est horizontale. Si tu es sûr que dans toutes tes images, la hauteur est plus grande que la largeur alors cette méthode marcheest il possible en php de detecter si l'image est à la vertical ou a l'horizontal, et donc de faire varier les valeur max en fonction de cela ???
<?php
$size = getimagesize("image.jpg");
if ($size[1] > $size[0])
{
echo "Image horizontale";
}
else
{
echo "Image verticale";
}
?>
Pour la redimensionner tu utilises $size[0] (largeur) et $size[1] (hauteur) et tu vérifies qu'ils sont inférieurs ou supérieurs à la taille