Page 1 sur 1

erreur lors de l'affichage d'une image extraite d'une base

Posté : 28 mai 2011, 21:53
par Invité
J'aime afficher une image de la base de données.
J'ai écris ce code ci dessous mais j'obtiens l'erreur suivant: "the image cannot be displayed because it contains errors php"
ce même code fonctionne dans une autre page de mon site mais dans une autre non!! je ne sais pas d'où proviens l'erreur.
Je n'ai pas écris du HTML ou autre avec l'image mais ça ne fonctionne plus.
Prière de m'aider c urgent!!
<?php
if (isset($_GET['action']) and $_GET['action'] == 'view' and isset($_GET['id']))
{
include $_SERVER['DOCUMENT_ROOT'] . '/PFE/includes/db.inc.php';

$id = mysqli_real_escape_string($link, $_GET['id']);
$sql = "SELECT idDocument, typeFichier, contenuFichier
FROM document
WHERE idDocument = '$id'";
$result = mysqli_query($link, $sql);
if (!$result)
{
$error = 'erreur de base de données lors de la recherche de l\'image.';
include $_SERVER['DOCUMENT_ROOT'] . '/PFE/includes/error.html.php';
exit();
}

$file = mysqli_fetch_array($result);
if (!$file)
{
$error = 'fichier non trouvé dans la base de données';
include $_SERVER['DOCUMENT_ROOT'] . '/PFE/includes/error.html.php';
exit();
}
if($file['typeFichier']=="image/jpeg")
$extension=".jpeg";
$filename = $file['idDocument'].$extension;
$mimetype = $file['typeFichier'];
$filedata = $file['contenuFichier'];
$disposition = 'inline';

// Content-type must come before Content-disposition

header("Content-type: $mimetype");
header("Content-disposition: $disposition; filename=$filename");

header('Content-length: ' .strlen($filedata));
echo $filedata;

exit();
}
?>

Re: erreur lors de l'affichage d'une image extraite d'une base

Posté : 28 mai 2011, 23:05
par Ryle
Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


Quant à ton problème, si le même code fonctionne pour une autre page, c'est que le problème ne provient pas du code mais des données que tu essayes de lire.

Cependant, si tu as stocké ton fichier correctement (si tant est qu'il soit correct de stocker une image en base) avec un base64_encode() il doit te manquer un base64_decode() pour lire celui-ci...

Re: erreur lors de l'affichage d'une image extraite d'une base

Posté : 29 mai 2011, 19:41
par mohamed_bn
Merci pour l'aide.
En fait le problème provien de l'inclusion d'une autre page par include once situé au début du code. =D>