Bonjour,
Voici mon problème et je n'arrive pas à comprendre le pourquoi de ce problème.
J'ai 2 scripts situés dans le même répertoire qui comporte des fichiers pdf.
Le premier script (biblio_lire )ouvre bien le fichier PDF
Le second script (biblio) n'ouvre pas le fichier PDF et remplit l'écran de caractères ASCII.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (file_exists($file)) { $chemin_fichier=$dossier.$file; ouvre_pdf($chemin_fichier); }
J'ai vérifié les points suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (file_exists($file)) { $chemin_fichier=$dossier.$file; ouvre_pdf($file); }
1- le nom du chemin et du fichier sont dans les 2 scripts strictement identiques.
/home/www/78f7c147f45f004e323b8733ea2d94c0/web/crise/biblio/fichiers/CMS17191331985574_Le_risque_electrique.pdf
2- j'ai essayé avec IE, FF et Chrome, les 3 navigateurs se comportent de la même manière
la fonction ouvre_pdf est utilisée par les 2 scripts.
J'ai même fait un copié collé du script qui fonctionne vers le script qui ne fonctionne pas. Le résultat ne change pas.
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 function ouvre_pdf($fichier) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($fichier)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); // désactivation du cache header('Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0'); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé header('Pragma: public'); header('Content-Length: ' . filesize($fichier)); ob_clean(); flush(); readfile($fichier); return; }
J'ai tout vérifié et je ne comprend pas pourquoi ce bug.
Avez vous une piste à me suggérer ?
Merci à vous et bonne journée.
Partager