frederic92 | 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 :
- <?php[
- include("../classes/mysql.class.php" );
- $type_fichier = $_FILES['fichier']['type'];
- // recuperation de la taille de la photo
- $taille_fichier = $_FILES['fichier']['size'];
- // recuperation de id_boutique
- $boutique = $_POST["boutique"] ;
- // image blob
- $imag_blob = file_get_contents ($_FILES['fichier']['tmp_name']);
- $imag_blob= addslashes($imag_blob);
- // dimention du fichier image
- $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
- $largeur = $infos_img[0];
- $hauteur = $infos_img[1];
- // verification de l'extention du fichier
- if( !strstr($type_fichier, 'jpg') && !strstr($type_fichier, 'jpeg') && !strstr($type_fichier, 'bmp') && !strstr($type_fichier, 'png') )
- {
- echo"Le fichier n'est pas une image valide ( jpg, jpeg, bmp ou png )";
- }
- else
- {
- // Largeur maximal de l'image du logo
- $largeurimage=120;
- // On vérigfie si un fichier IMAGE a bien été transféré
- // none c'est la valeur prise par la champ du formulaire s'il n'y a pas eut de nouvelle image de rentrée
- if ($_FILES['fichier']['tmp_name'] !='' )
- {
- // définition de l'espace destiné à recevoir les images
- $nom_destination="./images/";
- // on renomme la vignette la date du download
- $date=date("ymdhis" );
- $nouveau_nom=$date.".jpg";
- $nouveau_nom2="mini_".$date.".jpg";
- if (is_uploaded_file($_FILES['fichier']['tmp_name']))
- {
- move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_destination.$nouveau_nom);
- }
- $image="$nom_destination$nouveau_nom";
- $img=imagecreatefromjpeg($image);
- if ($largeur>$largeurimage)
- {
- $entroplargeur=$largeur-$largeurimage;
- $largeur2=$largeur-$entroplargeur;
- $hauteur2=round(($largeur2/$largeur)*$hauteur);
- $img3=imagecreatetruecolor($largeur2,$hauteur2);
- imagecopyresized($img3,$img,0,0,0,0,$largeur2,$hauteur2,$largeur,$hauteur);
- $image_retaillee="$nom_destination$nouveau_nom2";
- imagejpeg($img3,$image_retaillee,100);
- // enregistrement dans la base de la miniature
- $img4=$img3;
- move_uploaded_file($img3, $nom_destination.$nouveau_nom2);
- $img4= addslashes($img4);
- $sql = new mysql("localhost","root","", "boutiques","1","erreur" );
- $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" );
- $sql->deconnexion();
- }
- }
- Else
- {
- $nouveau_nom="";
- }
- // On vérifie qu'il y'a une image
- If ($_FILES['fichier']['tmp_name']!='')
- {
- echo ' Upload de la photo ci-dessous reussi :
- <table width="751" border="0" cellspacing="10" cellpadding="0" align="center">
- <TR>
- <TD width="'.$largeurimage.'" valign="top">
- <img src="'.$nom_destination.$nouveau_nom2.'">
- </TD>
- ';
- //
- }
- if (!$miniature = fopen($nom_destination.$nouveau_nom2, 'r+')) {
- echo "Impossible d'ouvrir le fichier ($nom_destination.$nouveau_nom2)";
- exit;
- fclose($miniature);
- }
- } // fin du else
- ?>
|
merci par avance
Frederic Message édité par frederic92 le 10-01-2006 à 16:23:42
|