unlink() 函数参数无效

unlink() Function invalid argument

我有一个文件目录:PDF83790820874-c1.pdf
我想用 unlink() 功能删除这个文件。但是,如果我将目录设置为变量并取消链接,它似乎不起作用。
例如:

$FileToDelete = "PDF83790820874-c1.pdf";
unlink($FileToDelete);

代码是合乎逻辑的,不是吗?但是为什么当我执行它时,它会显示错误消息:

Warning: unlink(PDF83790820874-c1.pdf ): Invalid argument on line 36

我必须将文件目录保存到一个变量中才能与我的程序一起正常工作,有什么办法可以解决吗?

您的反斜杠被解释为转义序列。

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double

要么将其更改为正斜杠(这对 Windows 上的路径有效):

$FileToDelete = "PDF/9783790820874-c1.pdf";

或使用单引号:

$FileToDelete = 'PDF83790820874-c1.pdf';

或者转义反斜杠:

$FileToDelete = "PDF\9783790820874-c1.pdf";

根据反斜杠路径分隔符,我推测您使用的是 Windows。

我认为问题是由于转义反斜杠导致的问题,请尝试:

$FileToDelete = "PDF\9783790820874-c1.pdf";
unlink($FileToDelete);

希望这会为您解决问题。

请记住,'' 和 "" 在字符串内转义方面的行为不同。因此,虽然 'a\b.pdf' 可能有效 "a\b.pdf" 可能意味着完全不同的东西(其中 a 和 b 是 [一些字符串])。