problème d'affichage d'image binaire

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 juil. 2013, 20:39

salut,

as tu regardé le contenu de ce qui est affiché ?
lorsque tu met directement l'url pour afficher une image dans ton navigateur tu pourra la télécharger et l'ouvrir avec notepad++ histoire de voir, si par hasard il n'y aurait pas quelque chose qui te sauterais aux yeux ;)

il y a quoi dans ces fichiers ?
<?php
include('body/header.php');
include('body/menu.php');
genre l'affichage du début de la page html .

si c'est bien le cas effectivement ton image est foireuse :)

en plus tu peux virer le tag de fermeture afin d'éviter un éventuel caractère invisible qui viendrait s'ajouter à l'image ;)

pour info j'ai testé ton code (sans les inclusions que je n'ai pas) et il fonctionne parfaitement.
<?php

//si nous avons une image
if (!empty($_GET['id_img'])) {
    //connexion à la base de données
    try {
        $bdd = new PDO('mysql:host=localhost;dbname=test', 'test', 'test');
        //on sécurise notre donnée
        $idImg = intval($_GET['id_img']);

        //la requète qui récupère l'image à partir de l'identifiant
        $req = $bdd->prepare('SELECT * FROM images WHERE id_victime = ?');
        $req->execute(array($idImg));

        if ($req->rowCount() < 1)
            echo 'L\'image n\'existe pas !';
        else {
            //on stocke les données dans un tableau
            $donnees = $req->fetch();
            //on indique qu'on affiche une image
            header("Content-type: " . $donnees['extension']);
            //on affiche l'image en elle même
            echo $donnees['img'];
        }
        $req->closeCursor();
    } catch (Exception $e) {
        exit('Erreur : ' . $e->getMessage());
    }
} else {
    echo 'Vous n avez pas sélectionné d image !';
}
@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 96 Messages

31 juil. 2013, 22:17

Il n'y a pas d'autres erreurs dans le fichier de log ?
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 juil. 2013, 22:30

avant le log être sur qu'il n'y a pas de données foireuses c'est bien :D
Il en faut peu pour être heureux ......

Eléphant du PHP | 96 Messages

31 juil. 2013, 22:36

Oui effectivement, mais savoir afficher/lire les logs l' aidera par la suite

Pour ce problème la, je pense comme vous qu'il faut desactiver les deux premiers include ;)
Le mkframework, un framework simple et sécurisé: http://mkdevs.com