Insertion et consultation d'un document PDF dans la base des données Mysql
khoubaibma
Messages postés11Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention17 janvier 2010
-
11 juin 2008 à 17:24
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 2011
-
8 oct. 2008 à 11:55
Bonjour,
J'ai inseré un pdf dans la base càd j'ai inseré son chemin d'accès.
Mais j'ai un problème de le consulter à partir de la base.
Est ce que c'est possible de le mettre sous le serveur Appache et comment je fait pour la consultation.
s'il y a une autre solution laquelle.
j'utilise Easyphp1.8
S'il vous plaît aidez moi j'ai besoin d'aide et merci.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 11 juin 2008 à 18:46
Salut,
Il te suffit de récupérer le contenu dans la base de données (une simple requête SELECT). Tu le stockes ainsi dans une variable (mysqm_fetch_assoc() et autres fonctions du même genre).
Ensuite, il te suffit de le renvoyer vers le navigateur, en spécifiant les bons entêtes HTTP :
header('Content-type: application/pdf');
Cette ligne précise au navigateur que le contenu qui suit est un PDF. C'est alors le client qui gère ce qu'il en fait (affichage direct avec un plugin pour le navigateur, affichage dans une application externe, téléchargement sur le disque dur).
Si tu veux forcer le téléchargement, il faut utiliser cette ligne à la place :
header('Content-type: application/force-download');
Ensuite, un simple echo pour envoyer le contenu du fichier PDF.
<hr size="2" width="100%" />Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
fatimadouimy
Messages postés7Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention17 octobre 2008 7 oct. 2008 à 19:12
faty
merci bien pr ta reponse neigedhiver elle m'interesse bcp mais est ce que tu px m'expliquer encore ca "en spécifiant les bons entêtes HTTP :" je ss debutante en php et je sé pas de koi tu parle merciiiiiiiiiiii
fatimadouimy
Messages postés7Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention17 octobre 2008 8 oct. 2008 à 10:18
faty
bon je vais t'expliquer de koi s'agit t'il j'ai table produit dans ma base et chaque produit a une brochure PDF.
j'ai créé un champ PDF de Type LONGBLOB.et voila mon code :
<?
header('Content-type: application/force-download');
require_once('connection.php');
require_once('execrequete.php');
$cnx=connexion();
$requete1='select * from scanners ';
$exec1= ExecRequete($requete1,$cnx);
$count=mysql_num_rows($exec1);
ce que je veux c'est ke dans ma page .php dans la colonne PDF ou je vais inserer mon pdf j'aurais une petite icone pdf et lorsque je click le pdf se charge.
j'espere bien ke tu ariveras a me comprendre.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 oct. 2008 à 11:55
Moi je comprends bien ce que tu veux, mais c'est toi qui ne comprends pas comment ça marche.
Ton fichier PDF étant enregistré dans ta base de données, tu dois passer par un script pour l'afficher. Jusque là, tout le monde est d'accord.
Par contre, il faut différencier le script qui affiche la page sur laquelle figure l'icone avec le lien pour télécharger, et le script qui va effectivement aller chercher le fichier PDF dans la base de données et le renvoyer au navigateur.
Un script PHP ne peut pas à la fois afficher du texte, du PDF, une image, etc.
C'est soit l'un, soit l'autre.
Ca peut être le même script, en réalité, mais il ne peut faire qu'une seule chose à la fois, renvoyer un seul type de données à la fois.
Donc d'abord, tu affiches du HTML.
Le lien sur l'icone PDF doit renvoyer vers le script qui va aller chercher le contenu du fichier PDF dans la base de données.
C'est ce script qui enverra les headers correspondants, c'est à dire :
header('Content-type: application/pdf');
pour laisser le navigateur gérer la manière dont le fichier est traité par l'utilisateur (affiché dans un plugin, téléchargé...)
Ou bien :
header('Content-type: application/force-download');
pour forcer le téléchargement du fichier.
<hr size="2" width="100%" />Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...