envoi de fichiers au client

Modérateurs: Ligevum, Crepuscule, Wargaming, Okracoke, Simerion, Heroes, Bestiaire, Exsulare, terato, pentacle, Nainwak

envoi de fichiers au client

Messagepar finalbob » 20 Juin 2009, 23:03

Bonsoir à tous, pour le moment j'ai un petit script qui permet d'envoyer des fichiers sous cette forme :

Code: Tout sélectionner
header('Content-Transfer-Encoding: binary'); //Transfert en binaire (fichier)
header('Content-Disposition: attachment; filename="'.$file['filename'].'"'); //Nom du fichier
header('Content-Length: '.$file['taille']); //Taille du fichier
   
         //   Envoi du fichier dont le chemin est passé en paramètre
readfile($file['file_name_stocked']);


Seulement, beaucoup de gens se plaignent de recevoir le bon fichier mais avec un ".htm" qui vient se rajouter à la fin ce qui peut paraitre déroutant pour les utilisateurs lambdas (99% des gens quoi).
Chez moi, XP+FF2 ça marche nickel, mais avec mon téléphone (operamini) j'ai ce problème. Il semble que sous mac et sous Vista il y ai aussi le problème maisje n'ai aps d'infos sur les navigateurs (qui me semblent pourtant plus prédominant que les OS)


Vous avez une idée d'où ça pourrait venir ?


Dans la doc php on voit :
Code: Tout sélectionner
// Vous voulez afficher un pdf
header('Content-type: application/pdf');

// Il sera nommé downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// Le source du PDF original.pdf
readfile('original.pdf');


Est-ce parce que je ne précise pas le type "mime" dans mes en-tête que j'ai ce soucis ?
Existe-t-il une fonction php renvoyant le type mime d'un fichier ?
phpBB bouh !
vive cb ! http://connectix-boards.org/
finalbob
 
Messages: 70
Inscription: 20 Avr 2007, 11:31

Messagepar Haiken » 21 Juin 2009, 02:37

oui je pense que tu devrais rajouter un Content-type
Avatar de l’utilisateur
Haiken
Président de l'Association
 
Messages: 666
Inscription: 01 Avr 2004, 09:00

Messagepar finalbob » 21 Juin 2009, 09:54

Comment je le récupère le type ? Je me base sur l'extension ? Ça m'oblige à avoir un tableau ext/type qui sera forcément incomplet... ?
phpBB bouh !
vive cb ! http://connectix-boards.org/
finalbob
 
Messages: 70
Inscription: 20 Avr 2007, 11:31

Messagepar Haiken » 21 Juin 2009, 16:10

si le type peut être variable, il me semble que tu peux mettre : application/octet-stream qui marche dans tous les cas
voir l'exemple sur
http://fr.php.net/manual/en/function.readfile.php
que tu dois pouvoir reprendre tel quel oupresk
Avatar de l’utilisateur
Haiken
Président de l'Association
 
Messages: 666
Inscription: 01 Avr 2004, 09:00

Messagepar Daimonos Tereutes » 22 Juin 2009, 00:50

Si vraiment tu as besoin de renseigner un type mime exact, tu peux utiliser Fileinfo.
Mais ne perd pas de vue que cette détection peut être couteuse et de plus pas toujours exact, donc si tu peux t'en passer, utilise "application/octet-stream" comme conseillé par Haiken.
Admin technique de nainwak.org
Daimonos Tereutes
Responsable Technique de l'Association
 
Messages: 926
Inscription: 30 Mar 2004, 18:39

Messagepar finalbob » 22 Juin 2009, 13:02

oki merci beaucoup !
Je vais regarder si ça règle mes soucis.. :D
phpBB bouh !
vive cb ! http://connectix-boards.org/
finalbob
 
Messages: 70
Inscription: 20 Avr 2007, 11:31

Messagepar izarie » 24 Juin 2009, 19:29

pour les PDF, pour la solution précitée, elle marchait dans le site sur lecquel je travaillait avant... mais on avait plein d'emmerdes avec IE6, donc on avait fini par généré le fichier sur le serveur en dur, et a filer l url a la personne. Après, on nettoyait régulièrement les fichiers.(enfin, on nettoyait les fichiers de plus de 60 minutes a chaque création.)
Va voir la FAQ de fpdf pour plus d'info
Avatar de l’utilisateur
izarie
Secrétaire de l'Association
 
Messages: 186
Inscription: 03 Juil 2005, 17:12

Messagepar finalbob » 25 Juin 2009, 18:24

merci beaucoup, maintenant, ça semble avoir réglé mon soucis !!!!

Fin des exams dans 15jours, je vais me remettre au php.... :D
phpBB bouh !
vive cb ! http://connectix-boards.org/
finalbob
 
Messages: 70
Inscription: 20 Avr 2007, 11:31


Retourner vers Questions Pratiques/Techniques

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron