PHP判断文件或者目录是否可写,兼容windows/linux系统

100人浏览   2025-04-02 00:27:54

在PHP中,可用is_writable()函数来判断一个 文件/目录 是否可写,用是否可生成文件的方式判断目录是否可写;网上的一些代码大多数能判断linux系统,但windows服务器下判断不准确。


下面的代码兼容windows和linux判断文件或目录是否可写:

/* 判断 文件/目录 是否可写(取代系统自带的 is_writeable 函数)
* file 文件/目录
* 返回truefalse
*/
function isWritable($file){
    if(is_dir($file)){
        $dir = $file;
        if ($fp = @fopen("$dir/test.txt"'w')) {
            @fclose($fp);
            @unlink("$dir/test.txt");
            $writeable = true;
        } else {
            $writeable = false;
        }
    } else {
        if ($fp = @fopen($file'a+')) {
            @fclose($fp);
            $writeable = true;
        } else {
            $writeable = false;
        }
    }
    return $writeable;
}

相关推荐