PHP 文件系统 is_writable() 函数



PHP 文件系统 is_writable() 函数用于检查指定的文件是否可写。如果文件名存在且可写,则此函数可以返回 true。文件名参数可以是目录名,允许我们检查目录是否可写。

  • 如果失败,则返回 E_WARNING。
  • clearstatcache() 函数用于清除缓存,因为此函数使用缓存内存。
  • 对于不存在的文件,它返回 false。

语法

以下是 PHP 文件系统 is_writable() 函数的语法 -

bool is_writable ($filename)

参数

以下是 is_writable() 函数唯一必需的参数 -

序号 参数和描述
1

$filename(必填)

这是要检查的文件的路径。

返回值

如果文件可写,则函数返回 TRUE,否则返回 E_Warning。

PHP 版本

is_writable() 函数最初作为核心 PHP 4 的一部分引入,并且与 PHP 5、PHP 7 和 PHP 8 兼容良好。

示例

假设我们在当前工作目录或文件夹中有一个名为 phptest.txt 的文件。因此,我们将了解如何使用 PHP 文件系统 is_writable() 函数来检查我们的文件是否可写。

<?php
    $file = "/PhpProject/php/phptest.txt";
    if(is_writable($file)) {
        echo ("$file is writable");
    } else {
        echo ("$file is not writable");
    }
?> 

输出

这将产生以下结果 -

/PhpProject/php/phptest.txt is writable

示例

这是另一个简单的演示,用于了解 is_writable() 函数如何工作以检查多个文件是否可写。

<?php
    $filename1 = 'myfile.txt';
    $filename2 = 'index.php';

    //Check that the first file is writable
    if(is_writable($filename1)) {
    echo "The first file $filename1 is writable.\n";
    } else {
    echo "The first file $filename1 is not writable.\n";
    }

    //Check that the second file is writable
    if(is_writable($filename2)) {
    echo "The second file $filename2 is writable.\n";
    } else {
    echo "The second file $filename2 is not writable.\n";
    }
?>

输出

以下是以下代码的结果 -

The first file myfile.txt is writable.
The second file index.php is not writable.

示例

在此 PHP 代码中,我们将使用 is_writable() 函数并检查文件是否可写,我们还将显示其权限。

<?php
    // Check perm of the given file 
    $perm = fileperms("/PhpProjects/myfile.txt"); 
    $permValue = sprintf("%o", $perm); 
    
    // Clearing the File Status Cache  
    clearstatcache(); 
    
    $filename = "/PhpProjects/myfile.txt"; 
    
    // Check that the file is writable or not 
    if(is_writable($myfile))  
    { 
    echo ("The $filename is writable and it has the following file permissions : $permValue"); 
    }  
    else 
    { 
    echo ("The $filename is not writable and it has the following file permissions : $permValue"); 
    } 
    
    // Clear the File Status Cache  
    clearstatcache();
?> 

输出

这将生成以下结果 -

The PhpProjects/myfile.txt is writable and it has the following file permissions : 100644 

注意

使用此函数,目录的名称也可以用作参数,这允许我们检查目录是否可写或您是否没有访问权限。

总结

is_writable() 方法是一个内置函数,用于检查给定文件是否可写。因此,在 is_writable() 函数内部,我们可以将文件名作为参数传递。如果文件具有写权限,则返回 True。

php_function_reference.htm
广告