php - 读取文件问题 - 下载的文件包含文件路径,我不知道如何删除
问题描述
下面的代码可以正常工作,但是有个小问题:下载的文件的第一行有文件的路径。不知道为什么,代码如下:
function aprifile()
{
$url = './file/'.$_POST['seconda'];
echo $url;
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=$_POST[seconda]");
readfile($url);
exit();
}
解决方案
echo $url;
是罪魁祸首。
重要的是要认识到您从 PHP 输出的任何内容都会成为返回浏览器的响应的一部分。您已告诉浏览器响应将被视为可下载文件而不是 HTML 页面。
readFile
做同样的事情echo
,除了从文件而不是变量 - 它读取文件的内容并将其放入 PHP 的输出缓冲区。
如果要添加类似的内容进行调试,则需要将其记录到服务器上的文件中,而不是将其作为输出的一部分回显。
推荐阅读
- android - 未解决的参考:在 lateinit 属性上的 isInitialized
- c# - Autofac 程序集扫描注册期间未找到程序集错误
- python - 如何找到给定数字中有多少个数字?
- c - 如何在C中找到数组中的最大和最小元素?
- c# - 切换开关在 AJAX 加载的视图中不起作用
- reactjs - 使用 UseState React Hook 从子组件更新父组件状态
- python - 为 python 设置 coc.nvim
- python - 如何计算一个非常非常大的数字并将其写入python中的文件?
- oauth-2.0 - 从 1 个刷新令牌生成不同的访问令牌范围
- matlab - 如何使用matlab制作图表