Bonjour à tous,
J'essaye en vain de faire un système de crop pour les images.
Je passe donc tout en formulaire post. L'ajout d'une nouvelle image fonctionne nikel, ajout en BDD et tout le tointoin. Ce qui ne fonctionne pas, c'est quand je fais le formulaire pour remplacer l'image que la personne veut croper par son crop.
Je vous montre le code source, parce que je ne vois vraiment pas où ça coince.
Merci d'avance à tous
$_post[file] contient le nom du ficher avec chemin
x et y les coordonnées du point de début
w et h la taille
et ref c'est pour retourner à la page d'origine...
Code PHP :
if($_POST['action'] == 'crop_update')
{
$src = $_POST['file'];
$tab = explode(".",$src);
if($tab[1] == "jpg" || $tab[1] == "jpeg")
{
$img_r = imagecreatefromjpeg($src);
}
elseif($tab[1] == "png")
{
$img_r = imagecreatefrompng($src);
}
elseif($tab[1] == "gif")
{
$img_r = imagecreatefromgif($src);
}
else
{
$img_r = imagecreatefromjpeg($src);
}
$dst_r = imagecreatetruecolor($_POST['w'], $_POST['h']);
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$_POST['w'],$_POST['h'],$_POST['w'],$_POST['h']);
if($tab[1] == "jpg" || $tab[1] == "jpeg")
{
header('Content-type: image/jpeg');
imagejpeg($dst_r, $_POST['file'], 90);// ENREGISTREMENT
//imagejpeg($dst_r, null, 90); // AFFICHAGE
}
elseif($tab[1] == "png")
{
header('Content-type: image/png');
imagepng($dst_r, $_POST['file']);// ENREGISTREMENT
//imagejpeg($dst_r, null, 90); // AFFICHAGE
}
elseif($tab[1] == "gif")
{
header('Content-type: image/gif');
imagegif($dst_r, $_POST['file']);// ENREGISTREMENT
//imagejpeg($dst_r, null, 90); // AFFICHAGE
}
else
{
header('Content-type: image/jpeg');
imagejpeg($dst_r, $_POST['file'], 90);// ENREGISTREMENT
//imagejpeg($dst_r, null, 90); // AFFICHAGE
}
header("Location: produit_modifier.php?ref=".$_POST['ref']);
}