php判断文件或文件夹是否可写

醉菜鸟 2022-05-28 08:00:14

/**
 * 判断文件或文件夹是否可写
 * @param    string $file 文件或目录
 * @return    bool
 */
function is_really_writable($file)
{
    if (DIRECTORY_SEPARATOR === '/') {
        return is_writable($file);
    }
    if (is_dir($file)) {
        $file = rtrim($file, '/') . '/' . md5(mt_rand());
        if (($fp = @fopen($file, 'ab')) === false) {
            return false;
        }
        fclose($fp);
        @chmod($file, 0777);
        @unlink($file);
        return true;
    } elseif (!is_file($file) or ($fp = @fopen($file, 'ab')) === false) {
        return false;
    }
    fclose($fp);
    return true;
}
意见反馈