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

Changes filesystem permissions.

Parameters

$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

Return

(bool) True on success, false on failure.

Source

File: wp-admin/includes/class-wp-filesystem-ftpext.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;
			}
		}

		// 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.
		if ( ! function_exists( 'ftp_chmod' ) ) {
			return (bool) ftp_site( $this->link, sprintf( 'CHMOD %o %s', $mode, $file ) );
		}

		return (bool) ftp_chmod( $this->link, $mode, $file );
	}

Changelog

Version Description
2.5.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_filesystem_ftpext/chmod