+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    novembre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 9
    Points : 1
    Points
    1

    Par défaut récupération image bytea

    Bonjour à tous,
    Après plusieurs heures de recherches je fais appelle à vos connaissances pour m'aider !

    Je dispose d'une base de donnée avec dedans une table "users" qui comprend 5 colonnes dont "picture" de type bytea et "mimetype" de type text.
    Mon objectif est de stocker une image (images/avatar-default.png) dans ma base de donnée et ensuite de pouvoir l'afficher.

    Pour cela, j'ai en fait ma page d'inscription, pour l'instant très basique, qui va envoyer mon image par défaut dans la base de donnée.
    Ensuite de récupère cette image dans un fichier image.php qui est censé générer que cette image, et la vient mon problème, j'ai beau tout essayer, j'ai toujours une page blanche..

    Voici mes différents code :
    ----------inscription.php-----------
    Code :
    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
     
    <?php
      include('connexionBdd.php');
      if (isset($_POST['inscription'])){
        if($_POST['inscription'] != null){
          $data = file_get_contents('images/avatar-default.png');
          $escaped_data = pg_escape_bytea($data);
          $mimetype = image_type_to_mime_type(exif_imagetype('images/avatar-default.png'));
          pg_query($connexion_bd,"INSERT INTO users(ident,password,name,picture,mimetype) VALUES ('{$_POST['identifiant']}','{$_POST['motDePasse']}',
          '{$_POST['identifiant']}','{$escaped_data}','{$mimetype}')");
          pg_close($connexion_bd);
        }
        else{
          echo "Une erreur s'est produite";
          pg_close($connexion_bd);
        }
      }
          echo '<img src="profil.php?id=totolosc1"/>';
    ?>
    <form method="post" action="enregistrement.php">
      <input type="text" name="identifiant" placeholder="identifiant"/>
      <input type="password" name="motDePasse">
      <input type="password" name="motDePasse2">
      <input type="submit" name="inscription" Value="Inscription">
    </form>
    ---------image.php-----------
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
      include('connexionBdd.php');
      $statut = pg_connection_status($connexion_bd);
      $result = pg_query($connexion_bd,"SELECT picture, mimetype FROM users WHERE ident='".$_GET['id']."'");
      if (pg_num_rows($result) >= 1){
        $row = pg_fetch_assoc($result);
        $image = pg_unescape_bytea($row['picture']);
        pg_close($connexion_bd);
        header('Content-type: '.$row['mimetype']);
        echo $image;
      }
    ?>
    Si quelqu'un sait d'où vient le problème je le serais vraiment reconnaissant !
    Merci d'avance.

  2. #2
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Image PHP

    Bonjour,

    J'ai vu sur d'autres forums que ton problème a été résolu en modifiant le bytea_output...Tu peux me dire STP comment tu as fais exactement ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •