update ftp.php

Added setPassiveMode for changing FTP passive mode to on or off. In passive mode, data connections are initiated by the client, rather than by the server. It may be needed if the client is behind firewall.
Added exception to getConnection method when connection to FTP server fails.
Can you switch this to:

```PHP
            if (!$this->connection) {
                throw new FtpException('Error connecting to FTP server.');
            }
            
            ftp_login($this->connection, $this->username, $this->password);
```