【发布时间】:2014-07-01 23:30:01
【问题描述】:
我有一个显示要下载的文件名的链接。当用户单击它时,需要下载它。文件已下载但它仅包含 0 KB。在控制台中显示
资源被解释为文档,但使用 MIME 类型 application/force-download: "../download.php?file=filename" 传输
我的代码是这样的:
<a href="download.php?file=user_uploads/'.$_path['uploads'].
'logo_images/'.$row['FileName'].'" title="Click to download">'.$row['FileName'].'</a>
download.php是这样的:
<?php
$path = str_replace('/download.php?file=','',$_SERVER['REQUEST_URI']);
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . basename($path . $uri[1]) . "\"" );
@readfile($path);
?>
提前谢谢。我也检查了文件的路径。
【问题讨论】:
-
调试时不要使用
@抑制错误。 -
您应该检查正在请求的文件,否则可以下载任何文件。