PHP 5.6.0RC3 is available

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connectÖffnet eine sichere SSL-FTP-Verbindung

Beschreibung

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

ftp_ssl_connect() öffnet eine explizite SSL-FTP-Verbindung zu dem angegebenen host.

Hinweis: Warum diese Funktion eventuell nicht vorhanden ist

ftp_ssl_connect() ist nur verfügbar, wenn sowohl das FTP-Modul als auch OpenSSL-Unterstützung statisch in PHP eingebunden wurde. Daher ist diese Funktion in den offiziellen PHP-Builds unter Windows nicht definiert. Um diese Funktion auch unter Windows verfügbar zu machen, müssen Sie PHP selbst kompilieren.

Hinweis:

ftp_ssl_connect() ist nicht dazu gedacht, mit sFTP benutzt zu werden. Um sFTP mit PHP zu benutzen, verwenden Sie bitte ssh2_sftp().

Parameter-Liste

host

Die Adresse des FTP-Servers. Die Adresse des FTP-Servers. Dieser Parameter sollte keinen abschließenden Schrägstrich und kein vorangestelltes ftp:// haben.

port

Gibt einen alternativen Port für die Verbindung an. Fehlt er oder wird er auf 0 gesetzt, wird der Standard-FTP-Port 21 benutzt.

timeout

Dieser Parameter bestimmt den Timeout für alle nachfolgenden Netzwerktätigkeiten. Falls er fehlt, wird er auf den Standardwert von 90 Sekunden gesetzt. Der Timeout kann jederzeit mittels ftp_set_option() gesetzt und mittels ftp_get_option() abgefragt werden.

Rückgabewerte

Gibt bei Erfolg einen SSL-FTP-Stream zurück oder FALSE, falls ein Fehler auftrat.

Changelog

Version Beschreibung
5.2.2 Diese Funktion gibt nun FALSE zurück, wenn sie keine SSL-Verbindung aufbauen kann. Vorher gab es einen Fallback auf eine Nicht-SSL-Verbindung.

Beispiele

Beispiel #1 ftp_ssl_connect()-Beispiel

<?php

// SSL-Verbindung aufbauen
$conn_id ftp_ssl_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

echo 
ftp_pwd($conn_id); // /

// SSL-Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

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