Gc\Media\File::isWritable PHP Method

isWritable() public static method

Test is_writable recursively
public static isWritable ( string $directory, string[] $excludeDirectory = [] ) : boolean
$directory string Directory start
$excludeDirectory string[] Exclude directory
return boolean
    public static function isWritable($directory, $excludeDirectory = array())
    {
        $folder = opendir($directory);
        if (!is_resource($folder)) {
            return false;
        }
        while (false !== ($file = readdir($folder))) {
            $path = $directory . '/' . $file;
            if (!in_array($file, array('.', '..')) and !in_array($path, $excludeDirectory)) {
                $isWritable = true;
                if (is_dir($path)) {
                    $isWritable = self::isWritable($path, $excludeDirectory);
                }
                if (empty($isWritable) or !is_writable($path)) {
                    closedir($folder);
                    return false;
                }
            }
        }
        closedir($folder);
        return true;
    }

Usage Example

Example #1
0
 /**
  * Test
  *
  * @return void
  */
 public function testIsWritableWithNotWritablePath()
 {
     $this->assertFalse($this->object->isWritable('/etc'));
 }
All Usage Examples Of Gc\Media\File::isWritable