Stocker et afficher des PDF en MySQL et PHP

merou63 Messages postés 2 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 2 avril 2008 - 31 mars 2008 à 14:52
 KIKOU8 - 16 nov. 2012 à 20:26
Bonjour à tous,

Voici ce que je désire réaliser :
Dans une table d'une DB mysql, je désire avoir 2 champs : une zone de texte (un titre) et un champ capable de stocker le contenu d'un pdf.
Je désire pouvoir ajouter (supprimer, modifier) des enregistrements. Lors d'un ajout il s'agirait de taper le titre et de donner le chemin d'accès local à un fichier pdf. Le contenu de ce fichier pdf devrait être stocké dans le champ de la table.
En visualisation, je désire obtenir une liste avec les titres et à côté de chaque titre un bouton permettant d'afficher le contenu du champs pdf dans acrobat reader.

Mes questions sont :
- quel type de champ utiliser dans la table pour recevoir le contenu du pdf ?
- comment envoyer le contenu du pdf dans le champ?
- comment afficher le contenu du champ dans acrobat reader ?

C'est surement très basique mais je débute en php et mysql. Soyez indulgents... Un bout de code m'aiderait grandement, je vous en remercie d'avance.

Marc.
A voir également:

5 réponses

Axe971 Messages postés 75 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 9 janvier 2009 2
31 mars 2008 à 16:38
Salut merou63,

Pourquoi veux tu stocker les PDF dans la base de données?
Tu peux tout simplement les stocker sur ton serveur Web (Apache) dans un répertoire quelconque.

Sinon si tu désires vraiment stocker ton pdf dans un champ de MySQL, je te conseillerai d'utiliser un champ de type BLOB.

Ensuite pour envoyer le contenu du PDF dans le champ il faut tout d'abord uploader le PDF (donc le téléchager coté serveur d'où la première proposition). Puis il faut lire le contenu du fichier avec une fonction du style de file_get_contents.

Pour finir pour afficher le contenu du PDF après il faudra récupérer le contenu et modifier les entêtes de la page PHP pour qu'elle soit considérée comme un PDF.

Exemple :

<?php
    /* Tu récupères le contenu du champ dans ta base avec une belle requete SQL */

    /* Tu changes l'entête pour que le navigateur comprenne bien que c'est un PDF */
    header('Content-type: application/pdf');

    /* Tu affiches le contenu du champ */
    echo
($content);
?>
2
merou63 Messages postés 2 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 2 avril 2008
2 avril 2008 à 15:17
Bonjour Axe971,
Merci beaucoup pour la réponse.
J'ai réalisé la 1ère partie du travail (l'encodage), me reste la visualisation.
Gràce à tes explications, je pense y arriver.
Merci encore,
Marc.
0
Axe971 Messages postés 75 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 9 janvier 2009 2
3 avril 2008 à 02:31
De rien. C'est un plaisir de pouvoir aider ;)
0
AlexMetaleu Messages postés 1 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 8 octobre 2010
8 oct. 2010 à 11:23
Bonjour.

J'ai essayé cette méthode, à savoir :
<?php
    /* Tu récupères le contenu du champ dans ta base avec une belle requete SQL */

    /* Tu changes l'entête pour que le navigateur comprenne bien que c'est un PDF */
    header('Content-type: application/pdf');

    /* Tu affiches le contenu du champ */
    echo($content);
?>


et j'ai une erreur disant que le pdf est endommagé et n'a pas pu être réparé, après quelque tests il apparaitrait que cet erreur apparaisse uniquement pour les pdf en version 1.3 (les 1.4 étant correctement visualisés).

Serait il possible d'avoir un exemple fonctionnel ?
(ou a défaut quelques conseils ? ^^)

En vous remerciant d'avance.

PS : désolé pour le léger déterrage de topic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BONJOUR,

j'aimerai savoir comment faire pour réduire la taille d'un fichier PDF stocker dans une base de donnée MYSQL et récupérer et zipper et l'envoyer en entête.
-1
Rejoignez-nous