Bonjours,
J'ai un petit problème, je stock des photos dans un champs blob de ma table et je n'arrive pas a les afficher.

voici ma table:
CREATE TABLE `ploopi_mod_annuaire_photo` (
`id_photo` INT NOT NULL AUTO_INCREMENT ,
`nom` VARCHAR(50) NOT NULL ,
`desc` VARCHAR(100) NOT NULL ,
`photo` BLOB NOT NULL ,
`type` VARCHAR(25) NOT NULL ,
PRIMARY KEY (`id_img`)
)

que je remplis comme il suit :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
   <title>Envoyer une image</title>
</head>
<body>
   <h1>Envoyer une photo</h1>
   <form enctype="multipart/form-data" action="traitement.php" method="post">
      <input type="text" name="nom" size="50" />
      <input type="text" name="desc" size="100" />
      <input type="file" name="photo" />
      <input type="submit" name="validation" value="Envoyer" />
   </form>
</body>
</html>

traitement.php:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
      if(isset($_POST['validation'])) {         
         if(!is_uploaded_file($_FILES['photo']['tmp_name'])) {
            echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
         } else {                
            $extensions = array('.png', '.gif', '.jpg', '.jpeg');            
            $extension = strrchr($_FILES['photo']['name'], '.');                      
            if(!in_array($extension, $extensions)) {
                echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
            } else {                   
                define('MAXSIZE', 300000);        
                if($_FILES['image']['size'] > MAXSIZE) {
                   echo 'Votre image est supérieure à la taille maximale de '.$maxtaille.' octets';
                } else {
                    //on se connecte 
                    $connexion = mysql_connect("localhost", "stagiaire", "stagiaire") or die (mysql_error());
                    $database = mysql_select_db("stagiaire2") or die (mysql_error());                   
                    $photo = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));                    
                    mysql_query("INSERT INTO ploopi_mod_annuaire_photo VALUES('', '".$_POST[nom]."', '".$_POST[desc]."', '".$photo."', '".$_FILES[photo][type]."')") or die (mysql_error());
                    mysql_close();
                    echo 'L insertion s est bien déroulée !';
                 }
              }
          }
      }
   ?>
Jusque la pas de soucis les photo sont bien enregistré dans la base par contre impossible de les afficher, voici mon code pour l'affichage:

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php 
 
if(isset($_GET['id_photo'])) {
 
       $connexion = mysql_connect("localhost", "stagiaire", "stagiaire") or die (mysql_error());
       $database = mysql_select_db("stagiaire2")or die (mysql_error()); 
       $apercu = mysql_query("SELECT id_photo, type, photo FROM ploopi_mod_annuaire_photo WHERE id_photo =1");
       $reponse = mysql_fetch_assoc($apercu);
       if(!$reponse[id_photo]) {
          echo 'L image n existe pas !';
       } else {
          header ("Content-type: ".$reponse[type]);
          echo $reponse[photo];
       }
    } else {
       echo 'Vous n avez pas sélectionné d image !';
    }
?>

dans ma requête je l'oblige a chercher la photo stocké a l'id 1, pour tester. Et malgré cela il me resoort a chaque fois que je n'ai aps d'image sélectionné.(le dernière echo)

j'utilise des lien dans un premier temps pour visualiser les photos :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
 
    $affichage = mysql_query("SELECT id_photo, nom  FROM ploopi_mod_annuaire_photo") or die (mysql_error ());
    while($result = mysql_fetch_array($affichage)) {
        echo '<a href="affiche.php?id='.$result[id_photo].'">'.$result[nom].'</a>';
    }
 
?>

Et comme dit précédement les liens me renvoie a chaque fois vers le message :"Vous n avez pas sélectionné d image !".

Donc si une personne aurais la solution.
Merci.