我有两个文件:b.php 和 test.txt
<?php
$b = "test.txt";
unlink($b);
?>
错误是:警告:unlink(test.txt)[function.unlink]:权限被拒绝
为什么? b.php 和 test.txt 是 777 和相同的组/登录
如果我在父目录上设置 777 我可以执行 unlink 但我必须设置 777 并返回到 755?
原文由 eugui 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有两个文件:b.php 和 test.txt
<?php
$b = "test.txt";
unlink($b);
?>
错误是:警告:unlink(test.txt)[function.unlink]:权限被拒绝
为什么? b.php 和 test.txt 是 777 和相同的组/登录
如果我在父目录上设置 777 我可以执行 unlink 但我必须设置 777 并返回到 755?
原文由 eugui 发布,翻译遵循 CC BY-SA 4.0 许可协议
除了其他朋友的所有答案之外,如果正在查看此帖子的人正在寻找删除 “文件夹”而不是“文件” 的方法,则应注意文件夹必须通过 php rmdir() 函数 删除,如果您想删除 unlink()
的“文件夹”,您将遇到错误的警告消息,显示“权限被拒绝”
但是您可以通过 mkdir()
创建文件夹和文件,但是您删除文件夹的方式( rmdir()
)与删除文件的方式不同( unlink()
)
最终成为事实:
在许多编程语言中,任何与权限相关的错误可能并不直接意味着实际的权限问题
例如,如果你想 readSync
一个不存在的文件 node fs module
你会遇到错误 EPERM
错误
原文由 TechDogLover OR kiaNasirzadeh 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答558 阅读✓ 已解决
782 阅读
您(如在运行
b.php
的进程中,通过CLI
或网络服务器)需要对文件所在目录的写入权限。您正在更新目录内容,因此访问该文件是不够的。请注意,如果您使用 PHP
chmod()
函数将文件或文件夹的模式设置为777
您应该使用0777
以确保正确解释数字作为八进制数。