PHP Télécharger un fichier doc, docx, odt – corrompu avec readfile()
Il peut arriver que lors de l’appel au téléchargement d’un fichier de type docx ou odt, par exemple, qu’à l’ouverture le fichier soit corrompu.
La solution consiste à ajouter avant l’envoi des headers, « ob_end_clean(); »
Exemple :
$FileName= »monfichier.odt »;
$FilePath=’../dossier_securise/’;
header(‘Content-Type: ‘.filetype( $FilePath ));
header(‘Content-Disposition:attachment;filename=’.$FileName);
readfile($FilePath);
Devient :
ob_end_clean();
$FileName= »monfichier.odt »;
$FilePath=’../dossier_securise/’;
header(‘Content-Type: ‘.filetype( $FilePath ));
header(‘Content-Disposition:attachment;filename=’.$FileName);
readfile($FilePath);