Question php sur les Photos

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. 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
    1. 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
      1. 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
        1. c'est tout a fait cela .
          Est-il possible d'afficher cette image alors ?
          0
          1. 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
        2. 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. Bonsoir,
            il y a peut être un proiblème de chemin pour accéder à l'image.
            0