private function connect()
    {
        if ($this->ssl && !function_exists('ftp_ssl_connect')) {
            throw new \RuntimeException('This Server Has No SSL-FTP Available.');
        }

        // open ftp connection
        if (!$this->ssl) {
            $this->connection = ftp_connect($this->host, $this->port, $this->timeout);
        } else {
            $this->connection = ftp_ssl_connect($this->host, $this->port, $this->timeout);
        }

        if (!$this->connection) {
            throw new \RuntimeException(sprintf('Could not connect to \'%s\' (port: %s).', $this->host, $this->port));
        }

        if (defined('FTP_USEPASVADDRESS')) {
            ftp_set_option($this->connection, FTP_USEPASVADDRESS, false);
        }

        $username = $this->username ?: 'anonymous';
        $password = $this->password ?: '';

        // login ftp user
        if (!@ftp_login($this->connection, $username, $password)) {
            $this->close();
            throw new \RuntimeException(sprintf('Could not login as %s.', $username));
        }

        // switch to passive mode if needed
        if ($this->passive && !ftp_pasv($this->connection, true)) {
            $this->close();
            throw new \RuntimeException('Could not turn passive mode on.');
        }

        // enable utf8 mode if configured
        if($this->utf8 == true) {
            ftp_raw($this->connection, "OPTS UTF8 ON");
        }

        // ensure the adapter's directory exists
        if ('/' !== $this->directory) {
            try {
                $this->ensureDirectoryExists($this->directory, $this->create);
            } catch (\RuntimeException $e) {
                $this->close();
                throw $e;
            }

            // change the current directory for the adapter's directory
            if (!ftp_chdir($this->connection, $this->directory)) {
                $this->close();
                throw new \RuntimeException(sprintf('Could not change current directory for the \'%s\' directory.', $this->directory));
            }
        }
    }
private function connect()
    {
        if ($this->ssl && !function_exists('ftp_ssl_connect')) {
            throw new \RuntimeException('This Server Has No SSL-FTP Available.');
        }

        // open ftp connection
        if (!$this->ssl) {
            $this->connection = ftp_connect($this->host, $this->port, $this->timeout);
        } else {
            $this->connection = ftp_ssl_connect($this->host, $this->port, $this->timeout);
        }

        if (!$this->connection) {
            throw new \RuntimeException(sprintf('Could not connect to \'%s\' (port: %s).', $this->host, $this->port));
        }

        if (defined('FTP_USEPASVADDRESS')) {
            ftp_set_option($this->connection, FTP_USEPASVADDRESS, false);
        }

        $username = $this->username ?: 'anonymous';
        $password = $this->password ?: '';

        // login ftp user
        if (!@ftp_login($this->connection, $username, $password)) {
            $this->close();
            throw new \RuntimeException(sprintf('Could not login as %s.', $username));
        }

        // switch to passive mode if needed
        if ($this->passive && !ftp_pasv($this->connection, true)) {
            $this->close();
            throw new \RuntimeException('Could not turn passive mode on.');
        }

        // enable utf8 mode if configured
        if($this->utf8 == true) {
            ftp_raw($this->connection, "OPTS UTF8 ON");
        }

        // ensure the adapter's directory exists
        if ('/' !== $this->directory) {
            try {
                $this->ensureDirectoryExists($this->directory, $this->create);
            } catch (\RuntimeException $e) {
                $this->close();
                throw $e;
            }

            // change the current directory for the adapter's directory
            if (!ftp_chdir($this->connection, $this->directory)) {
                $this->close();
                throw new \RuntimeException(sprintf('Could not change current directory for the \'%s\' directory.', $this->directory));
            }
        }
    }
private function connect ( ) { if ( $ this -> ssl && ! function_exists ( 'ftp_ssl_connect' ) ) { throw new \ RuntimeException ( 'This Server Has No SSL-FTP Available.' ) ; } // open ftp connection if ( ! $ this -> ssl ) { $ this -> connection = ftp_connect ( $ this -> host , $ this -> port , $ this -> timeout ) ; } else { $ this -> connection = ftp_ssl_connect ( $ this -> host , $ this -> port , $ this -> timeout ) ; } if ( ! $ this -> connection ) { throw new \ RuntimeException ( sprintf ( 'Could not connect to \'%s\' (port: %s).' , $ this -> host , $ this -> port ) ) ; } if ( defined ( 'FTP_USEPASVADDRESS' ) ) { ftp_set_option ( $ this -> connection , FTP_USEPASVADDRESS , false ) ; } $ username = $ this -> username ? : 'anonymous' ; $ password = $ this -> password ? : '' ; // login ftp user if ( ! @ ftp_login ( $ this -> connection , $ username , $ password ) ) { $ this -> close ( ) ; throw new \ RuntimeException ( sprintf ( 'Could not login as %s.' , $ username ) ) ; } // switch to passive mode if needed if ( $ this -> passive && ! ftp_pasv ( $ this -> connection , true ) ) { $ this -> close ( ) ; throw new \ RuntimeException ( 'Could not turn passive mode on.' ) ; } // enable utf8 mode if configured if ( $ this -> utf8 == true ) { ftp_raw ( $ this -> connection , "OPTS UTF8 ON" ) ; } // ensure the adapter's directory exists if ( '/' !== $ this -> directory ) { try { $ this -> ensureDirectoryExists ( $ this -> directory , $ this -> create ) ; } catch ( \ RuntimeException $ e ) { $ this -> close ( ) ; throw $ e ; } // change the current directory for the adapter's directory if ( ! ftp_chdir ( $ this -> connection , $ this -> directory ) ) { $ this -> close ( ) ; throw new \ RuntimeException ( sprintf ( 'Could not change current directory for the \'%s\' directory.' , $ this -> directory ) ) ; } } }
Opens the adapter's ftp connection.

@throws RuntimeException if could not connect
Opens the adapter s ftp connection .