(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — Устанавливает соединение с FTP-сервером по протоколу SSL
Функция 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);
?>