PHP is_writable() 检查文件是否可以写入?
PHP is_writable() to check if file can be written?
我了解到可以使用 is_writable() 检查文件夹或文件是否可写。
如何检查文件是否可以写入文件夹?
- 我是否检查文件夹以及文件夹是否可写?那这个文件允许放到那个文件夹里吗?
- 如果文件已经写入文件夹,我该如何检查它是否可以再次写入(编辑)?我需要吗?如果是这样,我是否检查文件而不是文件夹?
- 这样做安全(正确)吗?
PHP函数is_writable
就是为了这个目的。如果你想在写入文件后检查文件是否仍然可写,你可以使用相同的功能。
阅读您所指问题中链接的文档。 is_writable()
正在处理文件和目录。
但请注意:如果您有这样的代码:
if (is_writeable("foo.txt")) {
$fp = fopen("foo.txt", "w");
/* ...*/
}
这可能仍然会失败。例如,可能存在锁定或竞争条件(两个命令之间的权限更改)。最好直接尝试打开然后处理错误。
$fp = @fopen("foo.txt", "w");
if (!$fp) {
report_error_in_some_way();
}
我了解到可以使用 is_writable() 检查文件夹或文件是否可写。
如何检查文件是否可以写入文件夹?
- 我是否检查文件夹以及文件夹是否可写?那这个文件允许放到那个文件夹里吗?
- 如果文件已经写入文件夹,我该如何检查它是否可以再次写入(编辑)?我需要吗?如果是这样,我是否检查文件而不是文件夹?
- 这样做安全(正确)吗?
PHP函数is_writable
就是为了这个目的。如果你想在写入文件后检查文件是否仍然可写,你可以使用相同的功能。
阅读您所指问题中链接的文档。 is_writable()
正在处理文件和目录。
但请注意:如果您有这样的代码:
if (is_writeable("foo.txt")) {
$fp = fopen("foo.txt", "w");
/* ...*/
}
这可能仍然会失败。例如,可能存在锁定或竞争条件(两个命令之间的权限更改)。最好直接尝试打开然后处理错误。
$fp = @fopen("foo.txt", "w");
if (!$fp) {
report_error_in_some_way();
}