Bonsoir, (bonne nuit ou bonjour, c'est selon)
HELP
Je suis amateur en programmation et bloque sur la manipulation d'images avant stockage dans ma base MySQL... Je n'y parviens décidément pas!
L'idée (et à mon avis le code) est pourtant simple: l'utilisateur transmets un fichier jpg via un formulaire, PHP la réceptionne, la redimensionne de façon à ce que sa largeur soit de 150px, et stocke l'image sous forme de "BLOB" dans MySQL. J'arrive à redimensionner une image en php, j'arrive à inscruster une image dans MySQL mais n'arrive pas à combiner les deux!
Il faudrait donc combiner ceci (j'ai extrait la partie qui nous intéresse):
Avec ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php $max = 150; list($largeur, $hauteur) = getimagesize($chemin); $image_largeur = $max; $image_hauteur = $max*$hauteur/$largeur; $image = imagecreatetruecolor($image_largeur, $image_hauteur); $source = imagecreatefromjpeg($chemin); imagecopyresized($image,$source); //faut-il ajouter des paramètres obligatoirement ici??? header('Content-type: image/jpeg'); imagejpeg($image, $chemin_destination, 80); imagedestroy($image); ?>
J'aimerais, dans la mesure du possible, ne PAS passer par l'enregistrement d'un fichier. Donc faire quelque chose du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $ret = is_uploaded_file($_FILES['photo']['tmp_name']); if (!$ret){echo "Problème de transfert"; return false;} else{ $img_blob = addslashes(file_get_contents($_FILES['photo']['tmp_name'])); mysql_query("UPDATE $table SET photo='$img_blob' WHERE ..."); }
$img_blob = imagejpeg($image, $chemin_destination, 80); (mais je sais que ce que j'ai tapé est incorrect "imagejpeg" retournant un booléen)
J'espère avoir été vaguement compréhensible...
Un tout grand merci d'avance pour votre aide!
Vig
Partager