首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unlink()函数无效参数

unlink()函数无效参数
EN

Stack Overflow用户
提问于 2015-03-13 16:59:48
回答 2查看 4.9K关注 0票数 1

我有一个目录为:PDF\9783790820874-c1.pdf的文件

我想用unlink()函数删除这个文件。但是,如果我将目录设置为变量并取消链接,则似乎无法工作。

例如:

代码语言:javascript
复制
$FileToDelete = "PDF\9783790820874-c1.pdf";
unlink($FileToDelete);

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

代码语言:javascript
复制
Warning: unlink(PDF\9783790820874-c1.pdf ): Invalid argument on line 36

我必须将文件目录保存到一个变量中才能很好地使用我的程序,有什么方法可以解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-13 17:08:43

你的反斜杠被解释为逃逸序列。

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

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

代码语言:javascript
复制
$FileToDelete = "PDF/9783790820874-c1.pdf";

或者使用单引号:

代码语言:javascript
复制
$FileToDelete = 'PDF\9783790820874-c1.pdf';

或者逃避反斜杠:

代码语言:javascript
复制
$FileToDelete = "PDF\\9783790820874-c1.pdf";
票数 6
EN

Stack Overflow用户

发布于 2015-03-13 17:09:16

我想您是基于反斜杠路径分隔符在Windows上的。

我认为问题是由于逃避反斜杠引起的问题,试着:

代码语言:javascript
复制
$FileToDelete = "PDF\\9783790820874-c1.pdf";
unlink($FileToDelete);

希望这能帮你解决问题。

请记住,'‘和’“在字符串中转义时的行为有所不同。因此,虽然'a\b.pdf‘可能工作,但"a\b.pdf“可能意味着完全不同的东西(其中a和b是字符串)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29037941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档