IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage d'image blob avec PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Affichage d'image blob avec PHP
    Bonjour,

    Dans le cadre d'un projet il m'a été demandé de stocker des blob en base de donner et de les afficher.

    Si le stockage ne pose pas de problème, l'affichage ne fonctionne pas étrangement.

    Lorsque je fais un var_dump de mon blob je retrouve bien les 20 millions de caractères bizarre de mon blob, et un var_dump de mon type me donne aussi le bon type du blob pour le header..

    Aurai-je fais une erreur d'étourderie ?

    Voici le code de ma page apercu.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
    <?php
    //si nous avons une image
    //connexion à la base de données
    include ("connexion.php");
    //on sécurise notre donnée
    $idImg = intval($_GET['id']);
    //la requète qui récupère l'image à partir de l'identifiant
    $req = $bdd->prepare('SELECT * FROM pj WHERE id_pj = ?');
    $req->execute(array($idImg));		
    //on stocke les données dans un tableau
    $donnees = $req->fetch();		
    //on indique qu'on affiche une image
    header ("Content-type: ".$donnees['type_pj'].", true");
    //on affiche l'image en elle même
    echo $donnees['blob_pj'];
    $req->closeCursor();
    ?>
    Je suis bien sûr sur la page "apercu.php?id=2" pour le get

    Cordialement

    Edit : Sur Firefox j'ai ce message : "L'image ne peut s'afficher car elle contient des erreurs"

    Donc je vais aussi mettre mon code pour enregistrer l'image :

    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
    26
    27
     
    if (isset($_FILES['pj']) AND $_FILES['pj']['error'] == 0)
    		{
    			// Testons si le fichier n'est pas trop gros
    			if ($_FILES['pj']['size'] <= 1000000)
    			{
    				 // Testons si l'extension est autorisée
                    $infosfichier = pathinfo($_FILES['pj']['name']);
                    $extension_upload = $infosfichier['extension'];
                    $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'txt');
                    if (in_array($extension_upload, $extensions_autorisees))
                    {
    					$img_nom = $_FILES['pj']['name'];
    					$last_AI = $bdd->prepare('SELECT id_formulaire FROM data ORDER BY id_formulaire DESC LIMIT 1');
    					$last_AI->execute();
    					$id_form = $last_AI->fetch();
    					$img_blob = file_get_contents($_FILES['pj']['tmp_name']);
    					$img_type = $_FILES['pj']['type'];
    					$upload_pj = $bdd->prepare('INSERT INTO pj(nom_pj, blob_pj, type_pj) VALUES(:nom_pj, :blob_pj, :type_pj)');
    					$upload_pj->execute(array(
    									'nom_pj' => $img_nom,
    									'blob_pj' => addslashes($img_blob),
    									'type_pj' => $img_type
    									));
                    }
    			}
    		}

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Rholala il suffisait simplement d'enlever "addshashes" dans mon enregistrement.. Désolé du dérangement, en espérant que mon étourderie serve à quelqu'un d'autre !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage image blob avec DOMPDF
    Par Lanfear dans le forum Langage
    Réponses: 1
    Dernier message: 22/10/2013, 14h14
  2. affichager image aléatoire avec php
    Par saibri dans le forum Langage
    Réponses: 0
    Dernier message: 27/05/2012, 19h23
  3. [ImageMagick] Affichage d'images générées par PHP
    Par lothar59 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 17/09/2006, 17h04
  4. affichage d'image dans site php
    Par eurykane dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 21
    Dernier message: 08/07/2006, 17h22
  5. [MySQL] Affichage d'image (blob)
    Par weejungle dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 16/11/2005, 13h38

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