Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1787 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb enregistrement dans base mysql d'images generer par Gd

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb enregistrement dans base mysql d'images generer par Gd

n°1280433
frederic92
Posté le 10-01-2006 à 14:23:06  profilanswer
 

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
mood
Publicité
Posté le 10-01-2006 à 14:23:06  profilanswer
 

n°1280519
ritzle
Posté le 10-01-2006 à 15:35:21  profilanswer
 

ce serait pas mieux avec les balises [code] ?

n°1280583
frederic92
Posté le 10-01-2006 à 16:24:32  profilanswer
 

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

n°1280751
soju
One shot !
Posté le 10-01-2006 à 17:48:18  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb enregistrement dans base mysql d'images generer par Gd

 

Sujets relatifs
PHP/mysql + Flashchanger de base access a SQL
[PHP] Problème de connection à la base de donnéesDoublons dans base de données
forum php/mysqlconfig server MySQL
[REGLE] Problème d'insertion dans une base MySqlmodification de valeur binaire en mysql ?? [resolu]
4 Listes déroulantes liées avec accès MySQL 
Plus de sujets relatifs à : pb enregistrement dans base mysql d'images generer par Gd


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR