Bonjour à tous,
J'ai un problème avec une page de téléchargement que j'ai créé. Les fichiers pdfs s'ouvrent sans aucuns problèmes, ce qui n'est pas le cas des fichiers Word ou Excel.
Lorsque le fichier est un fichier Word ou Excel, la boite de dialogue de téléchargement apparaît correctement avec le bon type d'application (Word pour un fichier Word et Excel pour un fichier Excel"), cependant lors de l'ouverture du fichier, word affiche une boite de dialogue "Conversion du fichier" et le fichier apparaît n'importe comment (voir capture d'écran ci-joint). La même chose arrive avec Excel !
J'ai contrôlé les fichiers sur le serveur et ils ne présentent aucunes dégradation. D'ailleurs, si je tape directement l'adresse du fichier sur le serveur (sans passer par la page de téléchargement) le fichier s'affiche correctement sous Word ou Excel. C'est donc un problème lors de l'envoi du fichier par ma page, mais je n'arrive pas à comprendre lequel. Si quelqu'un peut m'aider !
Le code de ma page de téléchargement et le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $fichier ="./documents/".$result['Nom'].".".$result['Ext']; header('Pragma: public'); header('Last-Modified: ' .gmdate('D, d M Y H:i:s').' GMT'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0, max-age=0'); header('Content-Transfer-Encoding: none'); header('Content-Length: ' .filesize($fichier)); header('Content-MD5: ' .base64_encode(md5_file($fichier))); header('Content-Type: application/octetstream; name ="' .$result['Nom'].".".$result['Ext'] .'"'); header('Content-disposition:attachment; filename="' .basename($fichier) .'"'); header('Date: ' .gmdate('D, d M Y H:i:s', time()) .' GMT'); header('Expires: '.gmdate('D, d M Y H:i:s', time()+1) .' GMT'); header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()) .' GMT'); readfile($fichier);
Partager