【发布时间】:2013-09-06 15:33:53
【问题描述】:
我正在使用以下脚本通过 PHP 下载文件:
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=sale.csv');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".filesize($CSVFileName));
readfile($CSVFileName);
$CSVFilename 值为“/home/demo/public_html/testwordpress/csv/sale.csv” 也试过 header("Content-type: text/csv");
不知何故,它没有下载路径上给出的 csv 文件。它正在以 csv 格式下载页面的源代码。 这是我得到的代码:
<!DOCTYPE html>
<!--[if IE 6]>
<html id="ie6" lang="en-US">
<![endif]-->
<!--[if IE 7]>
<html id="ie7" lang="en-US">
<![endif]-->
<!--[if IE 8]>
<html id="ie8" lang="en-US">
<![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
<html lang="en-US">
<!--<![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>Call Details | Test</title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
请指教
【问题讨论】:
-
$CSVFileName 是在哪里指定的?
-
你能告诉我们下载的文件是什么样的吗?
-
如果将内容类型标头更改为
header("Content-type: text/csv");会发生什么 -
您的内容类型不应有引号。这是
Content-type: application/octet-stream。
标签: php