OVH Cloud OVH Cloud

header

4 réponses
Avatar
Jean-Luc M.
Bonjour,

J'affiche un document pd généré avec fpdf.
Quand je demande à "enregistrer sous", IE me propose comme nom de
fichier le nom du fichier de script qui a généré le pdf au lieu du nom
que je pass en paramètre à la ofnction Output de création.

Dans le code de la classe, le header est composé comme suit:

//We send to a browser
header('Content-Type: application/pdf');
if( headers_sent() ) {
$this->Error('Some data has already been output to browser, can\'t
send PDF file');
}
header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: inline; filename="'.$name.'"');

Que pourrais-je changer pour que ça fonctionne correctement ?

J-L

--
J-L M. (Alphomega)
ICQ: 149635116
Pour m'écrire, cliquer le lien ci-dessous
http://cerbermail.com/?G5iYdBb2Ce

4 réponses

Avatar
ftc
Bonjour,

J'affiche un document pd généré avec fpdf.
Quand je demande à "enregistrer sous", IE me propose comme nom de
fichier le nom du fichier de script qui a généré le pdf au lieu du nom
que je pass en paramètre à la ofnction Output de création.

Dans le code de la classe, le header est composé comme suit:

//We send to a browser
header('Content-Type: application/pdf');
if( headers_sent() ) {
$this->Error('Some data has already been output to browser, can't
send PDF file');
}
header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: inline; filename="'.$name.'"');

Que pourrais-je changer pour que ça fonctionne correctement ?


Astuce mais qui ne fonctionne qu'avec IE: appeler le script et ajouter
en fin d'URL le nom du fichier
http://www.example.com/generate_pdf.php?param=xxx&p=www&zzz=/nom_de_fichier.pdf

Avatar
Christophe Meresse

J'affiche un document pd généré avec fpdf.
Quand je demande à "enregistrer sous", IE me propose comme nom de
fichier le nom du fichier de script qui a généré le pdf au lieu du nom
que je pass en paramètre à la ofnction Output de création.
[...]

header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: inline; filename="'.$name.'"');

Que pourrais-je changer pour que ça fonctionne correctement ?


Salut,

Je ne suis pas certain mais il me semble que le Content-disposition
devrait être attachment au lieu de inline pour ce que tu veux faire.

A+
Christophe

Avatar
Jean-Luc M.

Je ne suis pas certain mais il me semble que le Content-disposition
devrait être attachment au lieu de inline pour ce que tu veux faire.



Apparemment, si je mets attachment, il propose directement le
téléchargement sans l'afficher.

J'ai besoin d'afficher le pdf dans le navigateur mais aussi que, si
l'utilisateur utilise la bouton "Enregistrer une copie" dans le plugin
acrobat, que le nom de fichier par défaut soit celui que j'ai indiqué.
Firefox sait faire mais seulement par son menu "Enregistrer sous". IE
ne sait pas faire du tout.

--
J-L M. (Alphomega)
ICQ: 149635116
Pour m'écrire, cliquer le lien ci-dessous
http://cerbermail.com/?G5iYdBb2Ce

Avatar
Jean-Luc M.
Astuce mais qui ne fonctionne qu'avec IE: appeler le script et ajouter en fin
d'URL le nom du fichier
http://www.example.com/generate_pdf.php?param=xxx&p=www&zzz=/nom_de_fichier.pdf


ça doit fonctionner avec un max de navigateur, y compris firefox bien
sur.

--
J-L M. (Alphomega)
ICQ: 149635116
Pour m'écrire, cliquer le lien ci-dessous
http://cerbermail.com/?G5iYdBb2Ce