Pb d'insertion dans mysql image GD
frederic92
Messages postés
23
Statut
Membre
-
crabs Messages postés 909 Statut Membre -
crabs Messages postés 909 Statut Membre -
Bonjour , j'ai un probleme pour mettre en base une image generé par GD, pourtant l'image non redentionné poar gd apparais bien a l'affichage masi celle qui es reduite par gd
lors de son affichage le message d'erreur suivan apparais :
L'image « http://127.0.0.1/Form/apercu.php?id=1 » ne peut être affichée, car elle contient des erreurs.
voici mon 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";
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_nom";
imagejpeg($img3,$image_retaillee,100);
// enregistrement dans la base de la miniature
$img3= addslashes($img3);
$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', '$img3','$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_nom.'">
</TD>
';
}
} // fin du else
?>
merci de votre aide !
Frederic
lors de son affichage le message d'erreur suivan apparais :
L'image « http://127.0.0.1/Form/apercu.php?id=1 » ne peut être affichée, car elle contient des erreurs.
voici mon 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";
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_nom";
imagejpeg($img3,$image_retaillee,100);
// enregistrement dans la base de la miniature
$img3= addslashes($img3);
$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', '$img3','$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_nom.'">
</TD>
';
}
} // fin du else
?>
merci de votre aide !
Frederic
A voir également:
- Pb d'insertion dans mysql image GD
- Touche insertion clavier - Guide
- Image iso - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide