【发布时间】:2012-06-19 07:27:29
【问题描述】:
PHP 的 mkdir 在失败时返回 false。失败可能是:
- 文件夹已存在
- 其他一些错误,可能是权限错误?
有没有办法区分失败是由于一个原因而不是另一个原因?只要文件夹已经存在,如果mkdir 返回false,我希望我的脚本能够继续操作,但如果是其他错误,则处理它。
【问题讨论】:
标签: php permissions mkdir
PHP 的 mkdir 在失败时返回 false。失败可能是:
有没有办法区分失败是由于一个原因而不是另一个原因?只要文件夹已经存在,如果mkdir 返回false,我希望我的脚本能够继续操作,但如果是其他错误,则处理它。
【问题讨论】:
标签: php permissions mkdir
当然,只要在mkdir() 失败时使用is_dir() 检查目录是否存在。
这会告诉你目录是否存在,但它可能不是决定性的,因为权限也可能阻止你检查这个(我相信父目录需要+x 权限才能遍历子目录)。
【讨论】:
is_dir() 之前 mkdir()。如果该目录已经存在,那么您可以放弃尝试创建它。这是一个微优化,但我相信它使代码更清晰。 "如果不是 is_dir,则为 mkdir"。