PHP脚本文件下载

时间:2018-08-14 11:38:00

标签: php file get

简要说明 我正在尝试下载保留在同一文件夹中php文件旁边的png。

下面是我的test2.php代码

$file_name = $_GET['home.png'];
$file_url = 'http://192.168.0.113:90/download-test/' . $file_name;
header('Content-Type: application/png');
header("Content-disposition: attachment; filename=\"".$file_name."\""); 
readfile($file_url);
exit;

test2.html代码

<a href="test2.php?file=home.png">File1</a>
  

错误:下载的文件是test2.php,应该是home.png。

请指导上面代码中的错误。

2 个答案:

答案 0 :(得分:4)

您需要使用<a href="test2.php?file=home.png">File1</a>的第一行$_GET $file_name = $_GET['home.png'];,将其更改为

$file_name = $_GET['file'];

它应该执行您想要的操作

答案 1 :(得分:0)

问题在于您没有以正确的方式定义变量。应该是

$file_name = $_GET['file'];

此外,如果要下载本地文件,readfile()的第一个参数不能是URL。如果在同一文件夹中,$file_url就是带有扩展名的文件名。

此外,我建议您首先检查变量以查看其是否存在(使用isset()),并检查它是否未指向PHP文件或其他文件夹中的内容(防止使用)。 。),然后再将文件返回给客户端。