我有一个download.php文件,可以获取并打开文件。我有一个问题是文件是用'&'命名的在文件名中,所以当我尝试使用'&'访问文件时,我找不到文件在他们中间。
示例:download.phpf = one_& _another.pdf
在download.php文件中我使用获取文件名($ _GET ['f'])上面的示例如果我将文件名更改为one_and_another.pdf则会抛出错误文件。
如果没有很多这样的文件以这种方式命名,那么重命名会很好。
我需要知道如何忽略'&'这一事实并不意味着即将传递另一个PHP的变种。
答案 0 :(得分:2)
如果您可以控制查询字符串,则需要对&符号进行URL编码,使它们看起来像这样:
download.php?f=one_%26_another.pdf
然后像往常一样寻找$_GET['f']
。否则,字面符号&
会将$_GET
分解为
{ 'f' => 'one_', '_another.pdf' => '' }
答案 1 :(得分:1)
您可能只需在链接中正确urlencode()
&
:
download.php?f=one_%26_another.pdf
答案 2 :(得分:0)
接受用户输入的规则1:不信任它。