取消链接不适用于文件夹名称路径中的 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
我读了一些关于逃跑的威胁,但没有用。它适用于没有空格的路径......($子文件夹包含空格)
$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