eduardocosta

Inscris le 07/05/2009 à 14:02
  • Signature
    Graphiste
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    1
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

eduardocosta
le 07/05/2009 à 14:06
Upload de photo et redimensionnement
Bonjour. voici mon premier message sur ce forum, j'espère que vous pourrez m'aider car je suis au bout du rouleau et j'ai les méninges sans dessus dessous... Pour faire court, je n'ai jamais utiliser la librairie GD, et j'essaie de m'y mettre pour faire un truc tout bête, mais je dois avouer que je cale là.... Je cherche à redimensionner une image lors d'un upload php pour qu'elle fasse maximum 600x400, meme si l'utilisateur insère un fichier de 3Mo de 2000x1000px.
Ci dessous mon code, je ne comprends pas pourquoi ça ne marche pas, merci d'avance à ceux qui pourront m'aider...
<?
include("../connection.php");

$width_maxi = "600";
$height_maxi = "400";
$fichier = $_FILES ['fichier']['name'];
$tmp = $_FILES ['fichier']['tmp_name'];
$taille = $_FILES ['fichier']['size'];
$dimensions = getimagesize($tmp);
$nomid=$_POST['id'];
$Source = "../img/";
$Destination = "../img/";
copy($fichier, $Destination."img_".$fichier);
unlink($fichier);
$src1=imagecreatefromjpeg($Source."img_".$fichier);


$sql="INSERT INTO photos (img) VALUES ('$fichier')";
$resultat=mysql_query($sql);

if ($dimensions[0] > $width_maxi || $dimensions[1] > $height_maxi)
{
if($dimensions[0] <= $dimensions[1]) //image verticale
{
$coef = $width_maxi / $dimensions[1];
$new_width = $dimensions[0] * $coef;
$new_height = $dimensions[1] * $coef;
$im1 = ImageCreateTrueColor($dimensions[0], $dimensions[1]);
ImageCopyResampled($im1, $src1, 0, 0, 0, 0, $dimensions[0],$dimensions[1], $dimensions[0], $dimensions[1]);

}

else //image horizontale
{
if (($width_maxi / $dimensions[0]) < ($height_maxi / $dimensions[1]))
{
$coef = ($ratioL1 / $dimensions[0]);
$new_width = $dimensions[0] * $coef;
$new_height = $dimensions[1] * $coef;
$im1 = ImageCreateTrueColor($dimensions[0], $dimensions[1]);
ImageCopyResampled($im1, $src1, 0, 0, 0, 0, $dimensions[0],$dimensions[1], $dimensions[0], $dimensions[1]);

}
else
{
$coef = ($ratioH1 / $dimensions[1]);
$new_width = $dimensions[0] * $coef;
$new_height = $dimensions[1] * $coef;
$im1 = ImageCreateTrueColor($dimensions[0], $dimensions[1]);
ImageCopyResampled($im1, $src1, 0, 0, 0, 0, $dimensions[0],$dimensions[1], $dimensions[0], $dimensions[1]);

}
}
}
else
{
/* indiquer $dest_file qui correspond au répertoire de destination */
$dest_file="../img/".$fichier;
/* enlève un "\" */
$source_file=stripslashes($fichier);

/* copie du fichier */
//$res_copy=copy($source_file , $dest_file);
move_uploaded_file($_FILES['fichier']['tmp_name'],$dest_file);
chmod($dest_file, 0777);

}


?>

<body>

<div>INSERTION DE PHOTO</div>
<br />
taille recommandée : 600 pixels de large x 400 de haut
<form method="post" action="upload3.php" ENCTYPE="multipart/form-data">
<input name="fichier" type="file" id="fichier" size="20">
<br>
<input name="submit" type="Submit" value="VALIDER " border="0" onClick="submit">
</form>

</body>
Graphiste
LoadingChargement en cours