php下載excel無法打開的解決方法
php下載excel文件,
1、在下載的過程中不要 輸出任何非文件信息,比如 echo log信息。 否則下載后的文件無法打開,提示格式錯(cuò)誤或者文件被破壞。
2、 輸出的excel格式一定要和后綴名保存一直,否也會提示格式錯(cuò)誤或者文件被破壞
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.' 錯(cuò)誤:未生產(chǎn)文件');
echo '<script>alert(\'export error, file not exists!\')</script>';
}
- 原生PHP實(shí)現(xiàn)導(dǎo)出csv格式Excel文件的方法示例【附源碼下載】
- PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解
- php導(dǎo)入導(dǎo)出excel實(shí)例
- 基于php導(dǎo)出到Excel或CSV的詳解(附utf8、gbk 編碼轉(zhuǎn)換)
- php將數(shù)據(jù)庫導(dǎo)出成excel的方法
- 使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量導(dǎo)出為excel表格的方法(必看)
- PHP導(dǎo)出MySQL數(shù)據(jù)到Excel文件(fputcsv)
- PHP中ajax無刷新上傳圖片與圖片下載功能
- PHP使用ajax的post方式下載excel文件簡單示例
相關(guān)文章
一次因composer錯(cuò)誤使用引發(fā)的問題與解決
這篇文章主要給大家介紹了一次因composer錯(cuò)誤使用引發(fā)的問題與解決方法,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03PHP各種異常和錯(cuò)誤的攔截方法及發(fā)生致命錯(cuò)誤時(shí)進(jìn)行報(bào)警
在日常開發(fā)中,大多數(shù)人的做法是在開發(fā)環(huán)境時(shí)開啟調(diào)試模式,在產(chǎn)品環(huán)境關(guān)閉調(diào)試模式。在開發(fā)的時(shí)候可以查看各種錯(cuò)誤、異常,但是在線上就把錯(cuò)誤顯示的關(guān)閉2016-01-01php截取字符串函數(shù)substr,iconv_substr,mb_substr示例以及優(yōu)劣分析
php進(jìn)行中文字符串的截取時(shí),會經(jīng)常用到二個(gè)函數(shù)iconv_substr和mb_substr,對這二個(gè)函數(shù)應(yīng)該如何選擇呢?參考下本文介紹的例子就明白了。2014-06-06php實(shí)現(xiàn)斷點(diǎn)續(xù)傳大文件示例代碼
這篇文章主要介紹了如何用php實(shí)現(xiàn)斷點(diǎn)續(xù)傳大文件,文中代碼非常細(xì)致,幫助大家學(xué)習(xí)和參考,感興趣的朋友可以了解下2020-06-06ThinkPHP利用PHPMailer實(shí)現(xiàn)郵件發(fā)送實(shí)現(xiàn)代碼
本文章介紹了關(guān)于在thinkphp中利用了phpmailer來實(shí)現(xiàn)郵件發(fā)送的詳細(xì)教程,有需要的朋友可以參考一下2013-09-09PHP實(shí)現(xiàn)簡單網(wǎng)站訪客統(tǒng)計(jì)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)簡單網(wǎng)站訪客統(tǒng)計(jì)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01PHP中通過getopt解析GNU C風(fēng)格命令行選項(xiàng)
這篇文章主要介紹了PHP中通過getopt解析GNU C風(fēng)格命令行選項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11