我有一个php项目,我必须传递文件名作为POST请求删除web服务器中的文件。但是,当我传递包含#(数字符号)的文件名时,它无法获得正确的文件名,从而导致错误。
这是我的简单PHP脚本
<?php
$file = $_GET["file"];
if (!unlink("upload/".$file))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $file");
}
?>
因为:
- 您正在尝试读取
$_GET
而不是$_POST
和 -
#
在uri中具有特殊含义,如果要将其表示为数据 ,则必须将其百分比编码为
%23
。