Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & PostgreSQL
PHP & PostgreSQL Forum d'entraide sur PostgreSQL avec PHP. Avant de poster -> FAQ PostgreSQL, Cours PostgreSQL. Pour les questions concernant le moteur PostgreSQL plutôt que les fonctions PHP, merci d'utiliser le forum PostgreSQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/05/2012, 12h59   #1
totolosc1
Invité de passage
 
Inscription : novembre 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 8
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.
totolosc1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2012, 23h31   #2
ali90
Invité de passage
 
Inscription : 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 ?
ali90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h47.


 
 
 
 
Partenaires

Hébergement Web