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 : 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
     
    <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo