小智 5
你有没有尝试过is_writable()函数?
文档 http://www.php.net/manual/en/function.is-writable.php
例:
$filename = 'test.txt';
if (is_writable($filename)) {
echo 'The file is writable';
} else {
echo 'The file is not writable';
}Run Code Online (Sandbox Code Playgroud)
不幸的是,到目前为止所有的答案都是错误的或不完整的.
is_writable
如果文件名存在且可写,则返回TRUE
这意味着:
is_writable(__DIR__.'/file.txt');
Run Code Online (Sandbox Code Playgroud)
即使脚本对目录具有写权限,也会返回false,这是因为file.txt尚不存在.
假设文件尚不存在,那么正确答案就是:
is_writable(__DIR__);
Run Code Online (Sandbox Code Playgroud)
这是一个真实世界的例子,包含无论文件是否已存在的逻辑:
function isFileWritable($path)
{
$writable_file = (file_exists($path) && is_writable($path));
$writable_directory = (!file_exists($path) && is_writable(dirname($path)));
if ($writable_file || $writable_directory) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6245 次 |
| 最近记录: |