Устанавливает соединение с FTP-сервером по протоколу SSL

# ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_ssl_connect — Устанавливает соединение с FTP-сервером по протоколу SSL

### Описание

function ftp_ssl_connect(string `$hostname`, int `$port` = 21, int `$timeout` = 90): FTP\Connection|false

Функция ftp_ssl_connect() открывает явное SSL-соединение с FTP-сервером, который указали в аргументе `hostname`. Подразумевается, что функция ftp_ssl_connect() завершит работу без ошибок, даже если сервер не настроили для обработки FTP-подключений по SSL-протоколу. Клиент отправит команду `AUTH FTP` только при вызове функции ftp_login(), поэтому вызов функции ftp_login() завершится ошибкой. Соединение, которое установили функцией ftp_ssl_connect(), не будет выполнять проверку сертификата узла одноранговой сети.

> Замечание: Почему функцию определили не в каждой сборке

> До PHP 7.0.0 доступ к функции ftp_ssl_connect() открывался, только если модуль FTP и поддержку модуля OpenSSL статически встраивали в PHP-сборку; поэтому в официальных PHP-сборках для ОС Windows функция оставалась неопределённой. Приходилось самому компилировать двоичные файлы PHP, чтобы включить поддержку функции в Windows.

> Замечание:

> Функция ftp_ssl_connect() не работает с протоколом sFTP. Информацию о взаимодействии PHP с протоколом sFTP даёт описание функции ssh2_sftp().

### Список параметров

`hostname`

  Адрес FTP-сервера. Параметру нельзя содержать слешей в конце имени хоста или префикса `ftp://` в начале.

`port`

  Параметр определяет альтернативный порт соединения. По умолчанию функция устанавливает подключение на стандартном для FTP-протокола порте — 21, если аргумент опустили или указали значение `0`.

`timeout`

  Параметр определяет время ожидания для сетевых операций, которые будут использовать подключение. Время ожидания по умолчанию составляет 90 секунд. Функции ftp_set_option() и ftp_get_option() также умеют изменять и запрашивать время ожидания.

### Возвращаемые значения

В случае успешного выполнения функция возвращает объект FTP\Connection или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Теперь функция возвращает экземпляр класса FTP\Connection; раньше возвращался ресурс (resource).

### Примеры

Пример #1 Пример установки SSL-соединения с FTP-сервером функцией ftp_ssl_connect()

    <?php

    // Устанавливаем SSL-соединение
    $ftp = ftp_ssl_connect($ftp_server);

    // Проверяем имя пользователя и пароль
    $login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

    if (!$login_result) {
        // К этому времени PHP уже выдаст сообщение об ошибке уровня E_WARNING
        die("Не удалось войти");
    }

    echo ftp_pwd($ftp);

    // Закрываем SSL-соединение
    ftp_close($ftp);

    ?>

### Смотрите также

- ftp_connect() - Устанавливает соединение с FTP-сервером

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open