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

In this article

Changes filesystem permissions.

Parameters

$filestringrequired
Path to the file.
$modeint|falseoptional
The permissions as octal number, usually 0644 for files, 0755 for directories.

Default:false

$recursivebooloptional
If set to true, changes file permissions recursively.

Default:false

Return

bool True on success, false on failure.

Source

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

VersionDescription
2.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.