pb enregistrement dans base mysql d'images generer par Gd

pb enregistrement dans base mysql d'images generer par Gd - PHP - Programmation

Marsh Posté le 10-01-2006 à 14:23:06    

Bonjour et bonne année 2006 a tout les membres du forum !
 
j'ai un pb d'insertion dans ma base d'images redemisentioné par GD,  
l'image d'initalement uploader s'enregistre bien dans la base et s'affiche sans erreur alors que l'imlage reduite par gd provoque une erreur lors de son affichage : voici l'erreur "L'image « http://127.0.0.1/FormNAFNAF/apercu.php?id=1 » ne peut être affichée, car elle contient des erreurs."
 
alors que l'image uploadser non redimlentionné s'affiche tres bien.
 
 
voici le code de lenregistrement de l'image apres upload
 

Code :
  1. <?php[
  2. include("../classes/mysql.class.php" );
  3. $type_fichier = $_FILES['fichier']['type'];
  4. // recuperation de la taille de la photo
  5. $taille_fichier = $_FILES['fichier']['size'];
  6. // recuperation de id_boutique
  7. $boutique = $_POST["boutique"] ;
  8. // image blob
  9. $imag_blob = file_get_contents ($_FILES['fichier']['tmp_name']);
  10. $imag_blob= addslashes($imag_blob);
  11. // dimention du fichier image
  12. $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
  13. $largeur = $infos_img[0];
  14. $hauteur = $infos_img[1];
  15. // verification de l'extention du fichier
  16. if( !strstr($type_fichier, 'jpg') && !strstr($type_fichier, 'jpeg') && !strstr($type_fichier, 'bmp') && !strstr($type_fichier, 'png') )
  17. {
  18. echo"Le fichier n'est pas une image valide ( jpg, jpeg, bmp ou png )";
  19. }
  20. else
  21. {
  22. // Largeur maximal de l'image du logo
  23. $largeurimage=120;
  24. // On vérigfie si un fichier IMAGE a bien été transféré
  25. // none c'est la valeur prise par la champ du formulaire s'il n'y a pas eut de nouvelle image de rentrée
  26. if ($_FILES['fichier']['tmp_name'] !='' )
  27. {
  28. // définition de l'espace destiné à recevoir les images
  29. $nom_destination="./images/";
  30. // on renomme la vignette la date du download
  31. $date=date("ymdhis" );
  32. $nouveau_nom=$date.".jpg";
  33. $nouveau_nom2="mini_".$date.".jpg";
  34. if (is_uploaded_file($_FILES['fichier']['tmp_name']))
  35. {
  36. move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_destination.$nouveau_nom);
  37. }
  38. $image="$nom_destination$nouveau_nom";
  39. $img=imagecreatefromjpeg($image);
  40. if ($largeur>$largeurimage)
  41. {
  42. $entroplargeur=$largeur-$largeurimage;
  43. $largeur2=$largeur-$entroplargeur;
  44. $hauteur2=round(($largeur2/$largeur)*$hauteur);
  45. $img3=imagecreatetruecolor($largeur2,$hauteur2);
  46. imagecopyresized($img3,$img,0,0,0,0,$largeur2,$hauteur2,$largeur,$hauteur);
  47. $image_retaillee="$nom_destination$nouveau_nom2";
  48. imagejpeg($img3,$image_retaillee,100);
  49. // enregistrement dans la base de la miniature
  50. $img4=$img3;
  51. move_uploaded_file($img3, $nom_destination.$nouveau_nom2);
  52. $img4= addslashes($img4);
  53. $sql = new mysql("localhost","root","", "boutiques","1","erreur" );
  54. $sql->requete("INSERT INTO image (imag_nom,imag_taille,imag_lienrep,imag_type,imag_image,imag_mini,imag_largeur,imag_hauteur,id_boutique) VALUES ('$nouveau_nom', '$taille_fichier', '$nom_destination','$type_fichier','$imag_blob', '$img4','$largeur', '$hauteur','$boutique')","0" );
  55. $sql->deconnexion();
  56. }
  57. }
  58. Else
  59. {
  60. $nouveau_nom="";
  61. }
  62. // On vérifie qu'il y'a une image
  63. If ($_FILES['fichier']['tmp_name']!='')
  64. {
  65. echo ' Upload de la photo ci-dessous reussi :
  66. <table width="751" border="0" cellspacing="10" cellpadding="0" align="center">
  67. <TR>
  68. <TD width="'.$largeurimage.'" valign="top">
  69. <img src="'.$nom_destination.$nouveau_nom2.'">
  70. </TD>
  71. ';
  72. //  
  73. }
  74. if (!$miniature = fopen($nom_destination.$nouveau_nom2, 'r+')) {
  75. echo "Impossible d'ouvrir le fichier ($nom_destination.$nouveau_nom2)";
  76. exit;
  77. fclose($miniature);
  78. }
  79. } // fin du else  
  80. ?>


merci par avance
 
Frederic


Message édité par frederic92 le 10-01-2006 à 16:23:42
Reply

Marsh Posté le 10-01-2006 à 14:23:06   

Reply

Marsh Posté le 10-01-2006 à 15:35:21    

ce serait pas mieux avec les balises [code] ?

Reply

Marsh Posté le 10-01-2006 à 16:24:32    

escusez moi de pas avoir mis les balis c desormais cose fait !

Reply

Marsh Posté le 10-01-2006 à 17:48:18    

l'erreur se situe plutôt dans apercu.php
et vu que tu envois surement un header pour que l'image s'affiche correctement => l'erreur ne s'affiche pas car interprétée comme une image
=> il faut enlever le header pour debugger

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed