Fichier enregistré dans MySQL PB Affichage avec PHP

georges -  
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je m'explique j'ai une base MySQL contenant une table qui doit comprendre un fichier PDF (champ longblob).
Description de la table :

CREATE TABLE 'base_test_trigger'.'t' (
'id' INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'longblob' LONGBLOB NOT NULL
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_unicode_ci;

J'utilise un formulaire php avec pour ce champ un input file : <INPUT type="file" name="truc" required> j'enregistre mais lors de l'enregistrement j'enregistre que le nom et le type du fichier. Alors que je veux enregistrer le fichier. Si quelqu'un peut m'aider ^^"

Et pareil pour la lecture de la table je fais une liste et du coup j'ai plein de caractère spéciaux avec des ? entouré d'un carré ... :

%PDF-1.5 %???? 1 0 obj <>>> endobj 2 0 obj <> endobj 3 0 obj <>/ProcSet/PDF/Text/ImageB/ImageC/ImageI >>/MediaBox[ 0 0 595.32 841.92] /Contents 5 0 R/Group<>/Tabs/S/StructParents 1>> endobj 4 0 obj <>/F 4/A<>/StructParent 0>> endobj 5 0 obj <> stream x??\Ys??~w??j??TbN \?R?|?n????!e?\?ItH?&?q????Hw@a 8Nme GO????5P4???7?Ç???<???????yt?????31????E ??4? ?Q??X???{???????{o&????DL?f?k??????????"?!?*V?7?/m+??f?I\\MO?d>??8?t?}?WK??U?O?dV ?/??|z?Nv???*??I9Kt2=?-???iW.??g4B&q??F.??S??????s v??z*&??e?s????l?)O&??-?vo?>??/?h??}??}M?*Ic?Fg?h?h?????l?Y?XFR?XDI??$????{?????v???k??C1?K?8?6????n}R?ck?

J'ai utilisé : header('Content-type: application/pdf'); mais rien n'y fait...

Merci pour vos réponse à l'avance, je débute et j'ai un peu de mal... J'ai déjà cherché sur le net mais j'ai rien trouvé non plus.

Au pire si quelqu'un a du code (mysql,php) qui fait ce que je demande histoire de pouvoir le tester et l'adapter ça serait super sympa

Coridalement,



A voir également:

1 réponse

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Salut !

Alors enfaite, tu ne peux pas "stocké" de fichier dans la BDD !
Par contre, tu peux stocké les fichiers sur ton serveur, donc par exemple /docs/monfichier.pdf. Dans ce cas là, ce que tu peux faire, c'est stocké le chemin du fichier en BDD :)
Regarde les exemples d'upload de fichier :)
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Pour tout te dire le stockage de fichier en base se fait ! En fait le fichier est converti en un code binaire et stocké dans un champ de type BLOB ou CLOB qui est un champ texte de grande capacité.
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Autant pour moi ! Comme quoi à l'école on nous apprend pas tout ! ^^
Si c'est transformé en binaire c'est du BLOB non ? Si j'ai bien suivi mes cours, BLOB = données binaires et CLOB = données "pas binaire" donc text en brut. J'espère ne pas dire de bétise !
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Je croyais que t'avais pas vu ça en cours ? ^^
Je crois que tu as raison ; mais de toutes manières il est clair que la méthode la plus propre reste le stockage sur FTP, et la mise en base de données de l'URL du document.
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Bah ca si, mais je ne savais pas qu'il y avait des fonctions (propre au SGBD ? ou en PHP ?) qui tranformait les fichiers en données binaires pour les stocké. (Ou alors j'ai loupé ce diapo !).

Oui, stocké le fichier dans un dossier, et récupérer juste le chemin me parrait la manière la plus propre aussi. C'est du basic et ca marche parfaitement !
0