我读了一些关于逃避的威胁但是没有用。它适用于没有空格的路径....($ subfolder包含空格)
$subfolder = "this a subf";
$filepath = "/var/www/domain/$subfolder/$imagetodelete";
$filepath = str_replace(" ", "\ ", $filepath);
unlink($filepath); // correct if $subfolder/path contains no spaces
echo $filepath;
答案 0 :(得分:1)
$filepath = str_replace(" ", "\ ", $filepath);
这里的问题是你正在逃避PHP中的空格字符,而不是实际插入反斜杠。为了实际上意味着反斜杠,你必须逃避反斜杠,如下所示:
$filepath = str_replace(" ", "\\ ", $filepath);
答案 1 :(得分:0)
非常感谢大家,当我降级到php 5.2时,它起作用了。没有str替换。它似乎是一个BUG,见Php - KB