WP_Filesystem_ftpsockets::chmod()publicWP 2.5.0

Changes filesystem permissions.

Method of the class: WP_Filesystem_ftpsockets{}

No Hooks.

Return

true|false. True on success, false on failure.

Usage

$WP_Filesystem_ftpsockets = new WP_Filesystem_ftpsockets();
$WP_Filesystem_ftpsockets->chmod( $file, $mode, $recursive );
$file(string) (required)
Path to the file.
$mode(int|false)
The permissions as octal number, usually 0644 for files,
0755 for directories.
Default: false
$recursive(true|false)
If set to true, changes file permissions recursively.
Default: false

Changelog

Since 2.5.0 Introduced.

WP_Filesystem_ftpsockets::chmod() code WP 6.4.3

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;
		}
	}

	// chmod any sub-objects if recursive.
	if ( $recursive && $this->is_dir( $file ) ) {
		$filelist = $this->dirlist( $file );

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

	// chmod the file or directory.
	return $this->ftp->chmod( $file, $mode );
}