unlink()函数无效参数

时间:2015-03-13 16:59:49

标签: php unlink

我有一个目录为PDF\9783790820874-c1.pdf的文件 我想用unlink()功能删除此文件。但是如果我将目录设置为变量并取消链接,它似乎无法工作 例如:

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

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

Warning: unlink(PDF\9783790820874-c1.pdf ): Invalid argument on line 36

我必须将文件目录保存到变量中以便与我的程序一起使用,有什么方法可以解决它吗?

2 个答案:

答案 0 :(得分:6)

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

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

将其更改为正斜杠(适用于Windows上的路径):

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

或使用单引号:

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

或者只是逃避反斜杠:

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

答案 1 :(得分:2)

我认为你基于反斜杠路径分隔符在Windows上。

我认为问题是由于逃避反斜杠导致问题,请尝试:

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

希望能为你解决这个问题。

请记住''和""与在字符串中转义相关的行为不同。因此,虽然' a \ b.pdf'可以工作" a \ b.pdf"可能意味着完全不同的东西(其中a和b是[某些字符串])。