我有一个目录为:PDF\9783790820874-c1.pdf的文件
我想用unlink()函数删除这个文件。但是,如果我将目录设置为变量并取消链接,则似乎无法工作。
例如:
$FileToDelete = "PDF\9783790820874-c1.pdf";
unlink($FileToDelete);代码是逻辑的不是吗?但是为什么当我执行它时,它会显示错误信息:
Warning: unlink(PDF\9783790820874-c1.pdf ): Invalid argument on line 36我必须将文件目录保存到一个变量中才能很好地使用我的程序,有什么方法可以解决这个问题吗?
发布于 2015-03-13 17:08:43
你的反斜杠被解释为逃逸序列。
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";发布于 2015-03-13 17:09:16
我想您是基于反斜杠路径分隔符在Windows上的。
我认为问题是由于逃避反斜杠引起的问题,试着:
$FileToDelete = "PDF\\9783790820874-c1.pdf";
unlink($FileToDelete);希望这能帮你解决问题。
请记住,'‘和’“在字符串中转义时的行为有所不同。因此,虽然'a\b.pdf‘可能工作,但"a\b.pdf“可能意味着完全不同的东西(其中a和b是字符串)。
https://stackoverflow.com/questions/29037941
复制相似问题