Mysql pdf php

Messages postés
24
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
24 mai 2019
- - Dernière réponse : cs_Elberton
Messages postés
24
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
24 mai 2019
- 4 mai 2018 à 18:54
Bonjour,

je suis à la recherche d'info concernant le stockage de pdf dans une base de donnée.
Je stocke déjà des photos au moyen de blob. Les photos sont limités et ne peuvent pas dépassé une certaine taille.
J'aimerai faire la même chose mais avec du pdf. Par exemple stocker des documents d'assurances.
j'ai trouvé quelques infos, on fait pareil que des photos mais c'est ensuite que je me pose des questions.
Je souhaiterai l'afficher sous forme de lien à télécharger et pas faire comme les photos, l'afficher. uniquement un lien que l'on pourrait télécharger. Est-ce réalisable ?
Est-il mieux de le stocker dans un dossier du serveur web avec un htaccess ? Afin que l'on ne puissent pas aller voir ce qu'il y a dedans ? Ou est-ce réalisable par php ?

Merci
--
Afficher la suite 

Votre réponse

2 réponses

Messages postés
25609
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2019
311
0
Merci
Bonjour,
Est-il mieux de le stocker dans un dossier du serveur web avec un htaccess

Oui, il est préférable de stocker les fichiers dans un répertoire du serveur (protégé par un htaccess) et de ne mettre dans la bdd que le chemin pour y accéder.
Il te suffira ensuite de faire un simple lien vers les fichiers pour que les utilisateurs puissent les télécharger.

Et pour ce qui est de "forcer" le téléchargement au lieu de simplement son ouverture dans le navigateur,
tu peux faire, dans un fichier à part (sur lequel pointerait ton lien...)
un code du genre

$filename = "file.pdf"; // peut provenir d'une variable de ton lien par ex: $_GET['pdfFile']
$path = "path/to/pdf".$filename 

header('Content-Transfer-Encoding: binary');  // For Gecko browsers mainly
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');  // For download resume
header('Content-Length: ' . filesize($path));  // File size
header('Content-Encoding: none');
header('Content-Type: application/pdf');  
header('Content-Disposition: attachment; filename=' . $filename);  // Make the browser display the Save As dialog
readfile($path);


le lien serait du genre
<a href="nom_script_php_pour_pdf.php?pdfFile=nomdufichierpdf.pdf">TelechargerlePDF</a>

Commenter la réponse de jordane45
Messages postés
24
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
24 mai 2019
0
Merci
Désolé du retard.
Merci.
Je vais voir pour partir sur cette solution, merci !

--
Commenter la réponse de cs_Elberton