这是我第一次尝试使用php向用户发送文件,我有以下设置:
if (file_exists($fullPath)) {
header('Content-type: text/csv');
//Use Content-Disposition: attachment to specify the filename
header('Content-Disposition: attachment; filename='.basename($fullPath));
//No cache
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
//Define file size
header('Content-Length: ' . filesize($fullPath));
ob_clean();
flush();
readfile($fullPath);
}else{
echo "alert(\"File name is NOT FOUND: ".$fullPath."\");";
}
这会抓取文件,但它会在网页上显示该文件,就好像我回显了文件内容一样。保存此代码的脚本包含在require语句中。如果我通过浏览器导航到手动调用此单个文件,则会下载该文件,但如果此脚本作为必需语句包含在另一个脚本中,则该文件不会下载但只会输出到屏幕。
我怀疑标题可能存在一些问题,但我不确定这是不是问题。