如何测试 Windows 上的文件是否可以从 PHP 中删除?

发布于 2024-12-01 02:15:34 字数 132 浏览 0 评论 0原文

我忘记了 Windows 文件权限是如何工作的!

我正在编写一个 PHP 脚本,需要测试文件是否可删除。在 *NIX 类系统上,这只是测试文件所在目录是否可由当前进程写入的情况。但是,如何测试Windows服务器上的文件是否可删除呢?

I've forgotten how Windows file permissions work!

I'm writing a PHP script that needs to test whether a file is deletable. On *NIX-like systems, it's just a case of testing whether the directory the file is within is writable by the current process. However, how do I test whether a file on a Windows server is deletable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何以笙箫默 2024-12-08 02:15:35

使用 fileperms() 读取当前权限。然后,您可以使用 chmod() 修改权限(如果有)不符合您的标准。

Use fileperms() to read what the current permissions are. You can then use chmod() to modify the permissions if they do not meet your criteria.

薄情伤 2024-12-08 02:15:35

它应该只是检查目录和文件是否可写并且文件未锁定的情况。

不幸的是,我不知道如何在没有阻塞调用的情况下检查锁是否存在。

如果您知道文件没有锁定,并且测试 is_writeable(dirname($file)) && is_writeable($file) 返回 true 并且您仍然无法删除该文件 - 那么我有兴趣知道为什么 - ACL 是什么?

It should just be a case of checking that both the directory and file are writeable and that the file is not locked.

Unfortunately there's no way I'm aware of to check for existence of locks without a blocking call.

If you know there's no locks on the file, AND testing is_writeable(dirname($file)) && is_writeable($file) returns true AND you still can't delete the file - then I'd be interested to know why - what are the ACLs?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文