Question php sur les Photos

dubuducu Messages postés 395 Statut Membre -  
 giheller -
Bonjour,
j'ai une table 'images' structurée de cette facon :
description varchar(255) latin1_general_ci  Non                 
  tarifs varchar(255) latin1_general_ci  Non                 
  img_nom varchar(50) latin1_general_ci  Non                 
  img_taille varchar(25) latin1_general_ci  Non                 
  img_type varchar(25) latin1_general_ci  Non                 
  img_blob blob 


comment puis-je faire pour faire ressortir mon image insérée dans ma table sur une page PHP .
Merci :
voici mon code et ce que j'obtiens !
$req = "SELECT * FROM images ";
$ret = mysql_query ($req) or die (mysql_error ());
$row = mysql_fetch_array($ret);
?>
<table border="1" width="53%">
	<tr>
		<td>
		<table border="1" width="100%">
			<tr>
				<td>
				<p align="center"><b><font size="2" face="Verdana">Promotions</font></b></td>
			</tr>
			<tr>
				<td><p><? echo '<td bgcolor="#e8e2e2">'.$row["description"].'</td>';  ?></p>
				<p></td>
			</tr>
			<tr>
				<td><p><? echo '<td bgcolor="#e8e2e2">'.$row["tarifs"].'</td>'; 
				  ?></p>
				<p></td>
			</tr>
			<tr>
				<td><p></p>
				<p></td>
			</tr>
			<tr>
				<td><p>Photo</p>
				<p>
				<? 
				echo $row['img_blob']; 		
				?>
</p>
				<p></p>
				<p></p>
				<p></td>
			</tr>
		</table>
		</td>
	</tr>
</table>


j'obtiens des chiffres et symboles bizares !
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. giheller
     
    Bonjour,

    On ne peut stocker une image dans une table. On ne peut y mettre son nom, ses attributs et éventuellement un chemin pour y accéder.
    Avec ça déposer votre image dans un dossier images et avec les infos de la base afficher l'image.
    C'est à mon avis la seule façon de réaliser votre truc.
    0
  2. dubuducu Messages postés 395 Statut Membre 4
     
    Ou est l'utilité du BLOB alors ?
    je pense que l'on peut au contraire faire de deux maniere, la votre qui consiste a stocker le chemin et les attributs de l'image et une autre qui consiste a stocker directement dans la table le fichier image . (enfin je pense ) !
    voici le code que j'utilise :
    $ret = false;
    $img_blob = '';
    $img_taille = 0;
    $img_type = '';
    $img_nom = '';
    $taille_max = 250000;
    $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'];
    $description = $_POST['description'];
    $tarifs = $_POST['tarifs'];
    
    include('config.php');
    
    $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
    
    $sql2 = "UPDATE images SET description = '".$description."', tarifs = '".$tarifs."' ,img_nom = '".$img_nom."', img_taille = '".$img_taille."', img_type = '".$img_type."', img_blob = '".$img_blob."' ";
    $result2 = mysql_query($sql2) or die( "Erreur !!!!!! : " . mysql_error() ); 
    
    return true;
    
    }
    

    je souhaiterai savoir comment afficher l'image !
    Merci
    0
  3. giheller
     
    Vous mettez dans votre table un fichier binaire. OK
    dans votre tableau vous faites echo $row['img_blob'];
    cela affiche le binaire de l'image mais n'intreprète pas cela comme une image mais comme un code en binaire.
    0
  4. dubuducu Messages postés 395 Statut Membre 4
     
    c'est tout a fait cela .
    Est-il possible d'afficher cette image alors ?
    0
    1. giheller
       
      Bonsoir,

      l'image doit se trouver sur le site, dans la base on a son nom
      on fait :
      echo "<img src='".$variable_contenant_le_nom_de_liamge."'>";
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubuducu Messages postés 395 Statut Membre 4
     
    je ne comprends pas trop :
    "m'image doit etre sur le site " ???

    de plus, je fais ceci :
    <?
    				$req = "SELECT * FROM images WHERE id ='1'  ";
    $ret = mysql_query ($req) or die (mysql_error ());
    $row = mysql_fetch_array($ret);
    ?>
    				<td align="left" valign="middle"><img src='".$img_nom."' width="60" height="60" alt="">&nbsp;</td>
    				
    </p>
    
    


    je n'obtien rien comme image ! alors que celle ci est bin stockée dans mon blob

    Merci d'avance
    0
    1. giheller
       
      Bonsoir,
      il y a peut être un proiblème de chemin pour accéder à l'image.
      0