Bonsoir,

J'utilise un plugin trouver grâce à vous : cropperjs, je récupère les valeur de positions : x, y width, height et les envoie à mon script en $_GET.

<blockquote>http://monsite.fr/app/action/resize.php?a=avatar&org_url=//upload.monsite.fr/img/couv/awiP4VBgS8-CV-avt-premiere.png&pos_x=292.23214285714283&pos_y=0&width=350.00000000000006&height=350.00000000000006</blockquote>
Voici mon script

<?php

require 'app/elmt/_header.php'; //Accès à la base de données

header('Content-Type: image/png');

// Le fichier
$filename = $_GET['org_url'];
$type = strrchr($filename, '.');
$dest_url = '../../../source/assets/upload/img/avatar/';
$dest_url = '../';
$url = '//upload.monsite.fr/img/avatar/';

$width = 150;
$height = 150;
$file = explode('/', $filename);

$adress = '../../../source/assets/upload/img/couv/'.$file[5];

// Redimensionnement
$image_p = imagecreatetruecolor($width, $height);

//Test des extensions pour créer une image depuis l'originale
if($type == '.png') { $image = imagecreatefrompng($filename); }
elseif($type == '.jpeg' or $type == '.jpg') { $image = imagecreatefromjpeg($filename); }
elseif($type == '.gif') { $image = imagecreatefromgif($filename); }

$img = imagecopyresampled($image_p, $image, 0, 0, $_GET['pos_x'], $_GET['pos_y'], $width, $height, $_GET['width'], $_GET['height']);

//Test des extensions pour créée l'image
if($type == '.png') { imagepng($img, $dest_url); }
elseif($type == '.jpeg' or $type == '.jpg') { imagejpeg($img, $dest_url); }
elseif($type == '.gif') { imagegif($img, $dest_url); }

$up_Avatar = $db->query('UPDATE users SET u_avatar = :nvavatar WHERE u_name = :u_name', array('nvavatar' => $url . $file[5], 'u_name' => $_SESSION['u_name'])); //Changement en BDD

?>

Voilà, le script doit théoriquement récupérer la partie de l'image et la transformer pour qu'elle atteigne la taille de 150x150px et aller la mettre dans le dossier cible...

Sauf que non ! L'image n'est jamais créée et transmise dans le dossier cible...

Edit :
Petite information supplémentaire, j'ai tenté d'enlever le header('Content-Type: image/png'); et ça ne fonctionne pas mieux !

1 réponse


JeremieMeunier
Auteur
Réponse acceptée

Solution trouvée :

Il suffit de travailler l'image éditer... En gros si j'édite une image à l'adresse : http://upload.monsite.fr/couv/zdfgsdgs.png il faut que je la remplace par l'image CROP