在线等,问下大家是否知道,php在下载csv文件时文件中为什么出现html源码 xls文件却是正常的
回复讨论(解决方案)
基于你糟糕的描述,我只能给出一个糟糕的答案??你的代码有问题
我将php生成的csv文件放在页面,点击可下载,打开下载csv 打开后内容最后出现一段html代码 明白了吗!
生成时就有了
要看到你的代码
if ($opt == '') { if (!in_array($userid, $okuser)) { echo "你没有权限浏览此页面"; exit; } else { $web_folder = "/tj/"; $log_folder = "/tj/"; } $logFile = array(); if (is_dir($log_folder)) { if ($dh = opendir($log_folder)) { while (($file = readdir($dh)) != false) { if ($file != "." && $file != "..") { $logFile[$file] = $file . "&ver=" . mt_rand(); } } } } arsort($logFile); $smarty->assign("logfile",$logFile); $smarty->assign("web_folder",$web_folder); } elseif($opt == 'download'){ if (!in_array($userid, $okuser)) { echo "你没有权限浏览此页面"; exit; } $filename = $cgi->filename; header("Content-Type:text/csv"); header("Content-Type:text/xls"); header("Content-Disposition:attachment;filename=".$filename); readfile("/tj/".$filename); } else { echo "你没有权限浏览此页面"; exit; }这是php code
{if $opt == ''}{include file="menus.htm"}<div>统计表:</div><br/><br/><br/><TABLE style='width:90%' border="0" cellpadding="2"><tr> <td> 下载链接 </td></tr><TR> <TD> {foreach from=$logfile key=k item=v} <li><a href="mylog?filename={$v}&opt=download" target="_blank">{$k}</a></li> {/foreach} </TD></TR></TABLE><br/><TABLE style='width:90%' border="0"</TABLE>{include file="foot.htm"}{/if}{if $opt=='download'}{/if}这是html code
php生成的a.csv文件可以肯定是对的,但通过a页面下载,把a页面的html源码也输出到csv文件中了
比较郁闷!
目测你最后一个table 没闭合。
我粘贴的问题 闭合了,看来这个问题很少会遇到啊 !
header("Content-Type:text/csv");
header("Content-Type:text/xls");
怎么发送两个content-type头
嗯 对因为我要下载的东西有 xls 格式 也有csv格式
我查了下,找到问题了,问题出在
readfile("/tj/".$filename);这一句,
读取完了文件给一个die(); 抑制页面输出,否则,导出的excel 会出现请求页面的html源码;
解决办法:在redfilie这一句后加一个die()或者exit; 即可解决!

PHP日誌記錄對於監視和調試Web應用程序以及捕獲關鍵事件,錯誤和運行時行為至關重要。它為系統性能提供了寶貴的見解,有助於識別問題並支持更快的故障排除

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版