首先是公共部分
$filename='demo.txt'; //文件的路径 绝对和相对都可以
header('Content-type:application/octet-stream'); //无法确定的通用类型
header("Content-Disposition:attachment;filename =demo.txt"); //文件名称 可以指定
//header("Content-Disposition:attachment;filename =".basename($filename));
header("Content-Length:".filesize($filename)); //文件大小 可以不填写
header('Content-Transfer-Encoding: binary'); // //指定编码模式为字节
header('Expires: 0'); //缓存配置
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public'); //这个没弄明白
//输出到缓存
ob_clean(); //清除缓存
file_put_contents('php://output', $data); //如果没哟文件可以吧内容写入缓存
//readfile($filename); //有文件的话直接读取到缓存就好