2017-08-14 2 views
0

cet extrait doit transférer le fichier tiff ou modification du serveur Web à l'utilisateur par webne peut pas transférer tiff ou d'un fichier modifié avec PHP

header('Content-Description: File Transfer'); 
header('Content-Type: ' . $file_mime_type); 
header('Content-Disposition: attachment; filename="' . $file_name . '"'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
header('Content-Length: ' . $file_size); 

# till this moment all is fine 
echo file_get_contents("path/to/file.tif"); 
# script fails on line above, and doesnt reach this place 

lorsque le format de fichier non TIFF ou modifié, tout fonctionne très bien et le navigateur client commence à télécharger le fichier (docx/xlsx/pdf/etc.) lorsque l'utilisateur essaie de télécharger tiff ou modi, le script échoue sans aucune erreur. Avez-vous essayé print (file_get_contents ("path/to/file.tif")); Readfile ("path/to/file.tif") et ; au lieu de l'écho, le résultat est le même

+0

Avez-vous le type MIME mis en place pour TIF dans votre serveur web? – raphael75

+0

Yeap, tous les types dans la configuration ont été mis à jour correctement, sry pour le temps :) – otctynhuk

Répondre

0

Quand je commence à utiliser un « universel » Content-Type, tout fonctionne bien

header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); //universal Content-Type 
header('Content-Disposition: attachment; filename="' . $file_name . '"'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
header('Content-Length: ' . $file_size); 

echo file_get_contents("path/to/file.tif");