WP_Upgrader::fs_connect( string[] $directories = array(), bool $allow_relaxed_file_ownership = false ): bool|WP_Error

In this article

Connects to the filesystem.

Parameters

$directoriesstring[]optional
Array of directories. If any of these do not exist, a WP_Error object will be returned.

Default:array()

$allow_relaxed_file_ownershipbooloptional
Whether to allow relaxed file ownership.

Default:false

Return

bool|WP_Error True if able to connect, false or a WP_Error otherwise.

Source

public function fs_connect( $directories = array(), $allow_relaxed_file_ownership = false ) {	global $wp_filesystem;	$credentials = $this->skin->request_filesystem_credentials( false, $directories[0], $allow_relaxed_file_ownership );	if ( false === $credentials ) {	return false;	}	if ( ! WP_Filesystem( $credentials, $directories[0], $allow_relaxed_file_ownership ) ) {	$error = true;	if ( is_object( $wp_filesystem ) && $wp_filesystem->errors->has_errors() ) {	$error = $wp_filesystem->errors;	}	// Failed to connect. Error and request again.	$this->skin->request_filesystem_credentials( $error, $directories[0], $allow_relaxed_file_ownership );	return false;	}	if ( ! is_object( $wp_filesystem ) ) {	return new WP_Error( 'fs_unavailable', $this->strings['fs_unavailable'] );	}	if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) {	return new WP_Error( 'fs_error', $this->strings['fs_error'], $wp_filesystem->errors );	}	foreach ( (array) $directories as $dir ) {	switch ( $dir ) {	case ABSPATH:	if ( ! $wp_filesystem->abspath() ) {	return new WP_Error( 'fs_no_root_dir', $this->strings['fs_no_root_dir'] );	}	break;	case WP_CONTENT_DIR:	if ( ! $wp_filesystem->wp_content_dir() ) {	return new WP_Error( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] );	}	break;	case WP_PLUGIN_DIR:	if ( ! $wp_filesystem->wp_plugins_dir() ) {	return new WP_Error( 'fs_no_plugins_dir', $this->strings['fs_no_plugins_dir'] );	}	break;	case get_theme_root():	if ( ! $wp_filesystem->wp_themes_dir() ) {	return new WP_Error( 'fs_no_themes_dir', $this->strings['fs_no_themes_dir'] );	}	break;	default:	if ( ! $wp_filesystem->find_folder( $dir ) ) {	return new WP_Error( 'fs_no_folder', sprintf( $this->strings['fs_no_folder'], esc_html( basename( $dir ) ) ) );	}	break;	}	}	return true; } 

Changelog

VersionDescription
2.8.0Introduced.

User Contributed Notes

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