WP_Filesystem_ftpsockets::connect(): bool

In this article

Connects filesystem.

Return

bool True on success, false on failure.

Source

public function connect() {
	/*
	 * Bail if the constructor recorded a configuration error. Connection and
	 * authentication errors are excluded so that a failed connection attempt
	 * can be retried on the same instance.
	 */
	if ( $this->errors->has_errors() && ! array_intersect( array( 'connect', 'auth' ), $this->errors->get_error_codes() ) ) {
		return false;
	}

	if ( ! $this->ftp ) {
		return false;
	}

	$this->ftp->SetTimeout( FS_CONNECT_TIMEOUT );

	if ( ! $this->ftp->SetServer( $this->options['hostname'], $this->options['port'] ) ) {
		$this->errors->add(
			'connect',
			sprintf(
				/* translators: %s: hostname:port */
				__( 'Failed to connect to FTP Server %s' ),
				$this->options['hostname'] . ':' . $this->options['port']
			)
		);

		return false;
	}

	if ( ! $this->ftp->connect() ) {
		$this->errors->add(
			'connect',
			sprintf(
				/* translators: %s: hostname:port */
				__( 'Failed to connect to FTP Server %s' ),
				$this->options['hostname'] . ':' . $this->options['port']
			)
		);

		return false;
	}

	if ( ! $this->ftp->login( $this->options['username'], $this->options['password'] ) ) {
		$this->errors->add(
			'auth',
			sprintf(
				/* translators: %s: Username. */
				__( 'Username/Password incorrect for %s' ),
				$this->options['username']
			)
		);

		return false;
	}

	$this->ftp->SetType( FTP_BINARY );
	$this->ftp->Passive( true );
	$this->ftp->SetTimeout( FS_TIMEOUT );

	return true;
}

Changelog

VersionDescription
2.5.0Introduced.

User Contributed Notes

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