关于php的header()下载程序在linux 执行问题

我写了个php文件,有段代码:$filename=$date.'-yc.csv';$get_url=$date.'-yc.csv';$file=fopen($get_ur... 我写了个php文件,有段代码:
$filename = $date.'-yc.csv';
$get_url = $date.'-yc.csv';
$file = fopen($get_url,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($get_url));
Header("Content-Disposition:attachment; filename=" . $filename);
// 输出文件内容
echo fread($file,filesize($get_url));
fclose($file);
exit();
也就是从数据库读数据,生成表格;这在windows 运行没问题,但是在linux运行,会把数据都直接显示出来,生成不了表格,为什么?请大神指点下,本人是新人,请不吝赐教!谢了!
展开
 我来答
帐号已注销
2014-12-26 · TA获得超过268个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:278万
展开全部
可以吧文件直接写到一个文件里面。

在程序上,可以用PHP_OS得到的数值,来判断是在linux下运行还是在win下运行,然后存到不同的地方。
追问
“可以吧文件直接写到一个文件里面。”这个咋理解?
追答
<?php
$date = date ( 'Y-m-d' );
$filename = $date . '-yc.csv';
$get_url = $date . '-yc.csv';
$file = fopen ( $get_url, "r" );
if (PHP_OS == 'Linux') {
$content = fread ( $file, filesize ( $get_url ) );
file_put_contents($filename,$content);
} else {
Header ( "Content-type: application/octet-stream" );
Header ( "Accept-Ranges: bytes" );
Header ( "Accept-Length: " . filesize ( $get_url ) );
Header ( "Content-Disposition:attachment; filename=" . $filename );
}
// 输出文件内容
fclose ( $file );
exit ();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式