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);