取消链接不适用于文件夹名称路径中的 space

unlink not working with space in foldername path

我读了一些关于逃跑的威胁,但没有用。它适用于没有空格的路径......($子文件夹包含空格)

 $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;
$filepath = str_replace(" ", "\ ", $filepath);

这里的问题是您转义了 PHP 中的 space 字符,而不是实际插入反斜杠。为了实际表示反斜杠,您必须转义反斜杠,如下所示:

$filepath = str_replace(" ", "\ ", $filepath);

非常感谢大家,当我降级到 php 5.2 时它成功了。没有 str 替换。这似乎是一个 BUG 参见 Php - KB