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-----------
---------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
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>
Si quelqu'un sait d'où vient le problème je le serais vraiment reconnaissant !
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; } ?>
Merci d'avance.
Partager