Maison > Article > développement back-end > Que dois-je faire si Excel ne peut pas être ouvert après l’avoir téléchargé depuis PHP ?
Solutions au problème selon lequel PHP ne peut pas ouvrir les téléchargements Excel : 1. Ne publiez aucune information autre que le fichier pendant le processus de téléchargement ; 2. Le format Excel de sortie doit être cohérent avec le nom de suffixe enregistré ; si le fichier est téléchargé. Soyez simplement complet.
L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3
php télécharger le fichier Excel :
1. Ne produisez aucune information autre qu'un fichier pendant le processus de téléchargement, telle que les informations du journal d'écho.
Sinon, le fichier téléchargé ne peut pas être ouvert, ce qui indique une erreur de format ou le fichier est endommagé.
2. Le format Excel de sortie doit être enregistré avec le nom du suffixe, sinon cela provoquera une erreur de format ou le fichier est endommagé
Le code est le suivant :
if (file_exists(CACHE_PATH . $file_name)){ //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name)); header( 'Pragma: public' ); header( 'Expires: 0' ); header( 'Content-Encoding: none' ); header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' ); header( 'Cache-Control: public' ); header( 'Content-Type: application/vnd.ms-excel'); header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $file_name ); header( 'Content-Transfer-Encoding: binary' ); header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) ); readfile ( CACHE_PATH . $file_name ); } else { $this->logger->error('export model :'.$id.' 错误:未生产文件'); echo '<script>alert(\'export error, file not exists!\')</script>'; }
3. Erreur de fichier, veuillez vérifier si le fichier est complètement téléchargé.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!