par
amacquet » 14 août 2012, 11:00
Si cela peut aider, voici la fonction avec laquelle les photos d'origine ont été stockées dans la base :
Code : Tout sélectionner
function upload_photo ($matricule){
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 10000000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
echo "Trop gros !";
return false;
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
// $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
// TRAITEMENT DE L'IMAGE ///////////////////////////////////////////////////////////////////
$filename = $_FILES['fic']['tmp_name'];
$file_dest = "./photos_agents/".$matricule.".jpg";
// on charge l'image originale dans la variable $ori
$ori = imagecreatefromjpeg($filename);
// on retourne l'image à 90°
$ori_rotate = imagerotate($ori,90,0);
// on créé la nouvelle image en 480 par 600
$dest = imagecreatetruecolor (480,600);
// ensuite on copie une partie de l'image ori dans l'image dest
imagecopyresampled($dest,$ori_rotate,0,0,0,0,480,600,480,600);
// on sauvegarde alors la nouvelle image
imagejpeg($dest,$file_dest);
// destruction des images
imagedestroy($ori);
imagedestroy($ori_rotate);
imagedestroy($dest);
// //////////////////////////////////////////////////////////////////////////////////////////
$img_blob = file_get_contents ($file_dest);
$req = "UPDATE agent SET
photo_nom = '".$img_nom."',
photo_taille = '".$img_taille."',
photo_type = '".$img_type."',
photo_blob = '".addslashes($img_blob)."'
WHERE id_agent=".$_POST['id_agent']."";
// print_r($req);
// echo "<br><br><br>";
// print_r($_FILES);
$ret = mysql_query ($req) or die (mysql_error ());
return true;
}
}
c'est pas le addslashes dans :
photo_blob = '".addslashes($img_blob)."'
qui me pose problème dans la restitution ?
Si cela peut aider, voici la fonction avec laquelle les photos d'origine ont été stockées dans la base :
[code]function upload_photo ($matricule){
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 10000000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
echo "Trop gros !";
return false;
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
// $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
// TRAITEMENT DE L'IMAGE ///////////////////////////////////////////////////////////////////
$filename = $_FILES['fic']['tmp_name'];
$file_dest = "./photos_agents/".$matricule.".jpg";
// on charge l'image originale dans la variable $ori
$ori = imagecreatefromjpeg($filename);
// on retourne l'image à 90°
$ori_rotate = imagerotate($ori,90,0);
// on créé la nouvelle image en 480 par 600
$dest = imagecreatetruecolor (480,600);
// ensuite on copie une partie de l'image ori dans l'image dest
imagecopyresampled($dest,$ori_rotate,0,0,0,0,480,600,480,600);
// on sauvegarde alors la nouvelle image
imagejpeg($dest,$file_dest);
// destruction des images
imagedestroy($ori);
imagedestroy($ori_rotate);
imagedestroy($dest);
// //////////////////////////////////////////////////////////////////////////////////////////
$img_blob = file_get_contents ($file_dest);
$req = "UPDATE agent SET
photo_nom = '".$img_nom."',
photo_taille = '".$img_taille."',
photo_type = '".$img_type."',
photo_blob = '".addslashes($img_blob)."'
WHERE id_agent=".$_POST['id_agent']."";
// print_r($req);
// echo "<br><br><br>";
// print_r($_FILES);
$ret = mysql_query ($req) or die (mysql_error ());
return true;
}
}[/code]
c'est pas le addslashes dans :
photo_blob = '".addslashes($img_blob)."'
qui me pose problème dans la restitution ?