GC_Filesystem_Direct::chmod()

最后更新于:2021-11-27 17:42:22

GC_Filesystem_Direct::chmod( string$file, int|false$mode=false, bool$recursive=false)

Changes filesystem permissions.

参数

$file

(string) (Required) Path to the file.

$mode

(int|false) (Optional) The permissions as octal number, usually 0644 for files, 0755 for directories.

Default value: false

$recursive

(bool) (Optional) If set to true, changes file permissions recursively.

Default value: false

响应

(bool) True on success, false on failure.

源文件

文件: gc-admin/includes/class-gc-filesystem-direct.php

	public function chmod( $file, $mode = false, $recursive = false ) {
		if ( ! $mode ) {
			if ( $this->is_file( $file ) ) {
				$mode = FS_CHMOD_FILE;
			} elseif ( $this->is_dir( $file ) ) {
				$mode = FS_CHMOD_DIR;
			} else {
				return false;
			}
		}

		if ( ! $recursive || ! $this->is_dir( $file ) ) {
			return chmod( $file, $mode );
		}

		// Is a directory, and we want recursive.
		$file     = trailingslashit( $file );
		$filelist = $this->dirlist( $file );

		foreach ( (array) $filelist as $filename => $filemeta ) {
			$this->chmod( $file . $filename, $mode, $recursive );
		}

		return true;
	}