WP_Filesystem

Definition:
function WP_Filesystem( $args = false, $context = false ) {}

Initialises and connects the WordPress Filesystem Abstraction classes.
This function will include the chosen transport and attempt connecting.

Parameters

  • array $args: (optional) Connection args, These are passed directly to the WP_Filesystem_*() classes.
  • string $context: (optional) Context for get_filesystem_method(), See function declaration for more information.

Return values

returns:false on failure, true on success

Defined filters

  • filesystem_method_file
    apply_filters('filesystem_method_file', ABSPATH . 'wp-admin/includes/class-wp-filesystem-' . $method . '.php', $method)

Source code

function WP_Filesystem( $args = false, $context = false ) {

	global $wp_filesystem;



	require_once(ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php');



	$method = get_filesystem_method($args, $context);



	if ( ! $method )

		return false;



	if ( ! class_exists("WP_Filesystem_$method") ) {

		$abstraction_file = apply_filters('filesystem_method_file', ABSPATH . 'wp-admin/includes/class-wp-filesystem-' . $method . '.php', $method);

		if ( ! file_exists($abstraction_file) )

			return;



		require_once($abstraction_file);

	}

	$method = "WP_Filesystem_$method";



	$wp_filesystem = new $method($args);



	//Define the timeouts for the connections. Only available after the construct is called to allow for per-transport overriding of the default.

	if ( ! defined('FS_CONNECT_TIMEOUT') )

		define('FS_CONNECT_TIMEOUT', 30);

	if ( ! defined('FS_TIMEOUT') )

		define('FS_TIMEOUT', 30);



	if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )

		return false;



	if ( !$wp_filesystem->connect() )

		return false; //There was an erorr connecting to the server.



	// Set the permission constants if not already set.

	if ( ! defined('FS_CHMOD_DIR') )

		define('FS_CHMOD_DIR', 0755 );

	if ( ! defined('FS_CHMOD_FILE') )

		define('FS_CHMOD_FILE', 0644 );



	return true;

}

3651

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: