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 是 [一些字符串])。
我有一个文件目录: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 是 [一些字符串])。