PHP is_writable()来检查文件是否可以写入?

时间:2015-01-17 20:27:12

标签: php file directory writable

我已经读过我可以使用is_writable()检查文件夹或文件是否可写。

如何检查文件是否可以写入文件夹?

  1. 我是否检查文件夹以及文件夹是否可写?那么该文件是否可以放入该文件夹?
  2. 如果文件已写入文件夹,如何检查该文件是否可写(编辑)怎么办?我需要吗?如果是,我是否检查文件而不是文件夹?
  3. 这样做是否安全(正确)?

2 个答案:

答案 0 :(得分:1)

PHP函数is_writable正是出于此目的。如果要在编写文件后检查文件是否仍可写,则可以使用相同的功能。

答案 1 :(得分:1)

阅读您指向的问题中链接的文档。 is_writable()正在处理文件和目录。

但是请注意:如果你有这样的代码:

if (is_writeable("foo.txt")) {
    $fp = fopen("foo.txt", "w");
    /* ...*/
}

这可能仍然失败。例如,可能存在锁定或竞争条件(两个命令之间的权限更改)。更好的只是尝试打开然后处理错误。

$fp = @fopen("foo.txt", "w");
if (!$fp) { 
    report_error_in_some_way();
}