PHP 5.6.0 released

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connectApre una connessione SSL-FTP connessione

Descrizione

resource ftp_ssl_connect ( string $host [, int $port [, int $timeout ]] )

Restituisce uno stream SSL-FTP in caso di successo o FALSE in caso di errore.

La funzione ftp_ssl_connect() apre una connessione SSL-FTP verso il server host. Il parametro port specifica una porta alternativa a cui connettersi. Se omesso o impostato a zero allora viene usata la porta 21 standard.

Il parametro timeout specifica il timeout per tutte le operazioni di rete successive. Se omesso il valore predefinito e' di 90 secondi. Il timeout puo' essere interrogato o modificato in qualsiasi momento con le funzioni ftp_set_option() e ftp_get_option().

Example #1 Esempio di funzione ftp_ssl_connect()

<?php

// stabilisce una connessione ssl
$conn_id ftp_ssl_connect($ftp_server);

// si collega come username e password
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

echo 
ftp_pwd($conn_id); // /

// chiude la connessione ssl
ftp_close($conn_id);
?>

Nota: Perche' questa funzione puo' non essere presente

La funzione ftp_ssl_connect() e' disponibile solo se il supporto OpenSSL e' abilitato nella versione corrente di PHP. Se non e' definito ed e' stato incluso il supporto a FTP durante la compilazione, questa e' la ragione per cui la funzione non e' presente.

Vedere anche ftp_connect().

add a note add a note

User Contributed Notes 1 note

up
3
mmm3567 at gmail dot com
2 years ago
Something that isn't mentioned above is that although ftp_ssl_connect may be available and will return an FTP stream it may not be usable. Take the following code (FTP login credentials are obviously set elsewhere):

<?php
var_dump
(function_exists('ftp_ssl_connect'));
if(
function_exists('ftp_ssl_connect'))
{
   
$ftp_connection = @ftp_ssl_connect($this->ftp_host);
}
else
{
   
$ftp_connection = @ftp_connect($this->ftp_host);
}
var_dump($ftp_connection);
if(
$ftp_connection)
{
   
ftp_login($ftp_connection, $this->ftp_user, $this->ftp_password);
}
// output: bool(true) resource(71) of type (FTP Buffer)
?>

From this you'd assume everything would work, ftp_ssl_connect is available and you have a connection. However, once you get to ftp_login, you could get this:

Warning [2] ftp_login() [function.ftp-login]: AUTH not understood

This is because the server is not configured to understand the encrypted details, even though the function is available and an SSL-FTP stream was opened.

If you are trying to use ftp_ssl_connect make sure you check if you can login after using it, and if not, connect again with standard ftp_connect.

Hope this is of use.
To Top