2016-01-23 24 views
0

我有一个关于我的网站的一个使用的下载脚本一个简单的问题:PHP下载脚本参数 - 路径文件名

基本上脚本被嵌入到一个下载按钮下载一个特定的文件。但是脚本接受这样的参数:download.php?="filename"

但是,如果我改变浏览器中的参数来强制脚本从“images/map.jpg”之类的不同目录下载文件,它只会尝试下载名为"images-map.jpg"的文件。任何想法为什么?什么应该是正确的论据?

+1

你能显示你的代码吗? – RST

回答

0

首先,我建议你不要直接链接到文件 - 这是不安全的。最好是以某种方式映射它并将头层重定向实现到文件中。
第二次 - 通过GET方法传递参数时使用urlencode()。
最后 - 请让print_r($ _ REQUEST ['GET'])看看发送到服务器的内容。它可以是Web服务器的配置问题,也可以尝试实现您的请求,如:http://site.example/download.php?=images/somefile.img - 这样,Web服务器将尝试打开somefile.img作为文件,而不是将此参数传递给php脚本。