ftp_ssl_connect

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

ftp_ssl_connectУстанавливает соединение с FTP-сервером через SSL

Описание

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

ftp_ssl_connect() устанавливает явное SSL соединение с FTP-сервером, заданным аргументом hostname. Это означает, что ftp_ssl_connect() будет успешным даже если сервер не    настроен для SSL-FTP, или его сертификат недействителен. Только когда будет вызвана функция ftp_login(), клиент пошлёт необходимую команду AUTH FTP, так что в указанных случаях ftp_login() завершится ошибкой.

Замечание: Почему эта функция может быть не определена

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

Замечание:

ftp_ssl_connect() не предназначена для использования по протоколу sFTP. Для использования sFTP из PHP смотрите функцию ssh2_sftp().

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

hostname

Адрес FTP-сервера. Этот параметр не должен содержать слеши в конце и префикс ftp:// в начале.

port

Задаёт порт, на котором устанавливается соединение. Если равен нулю или опущен, по умолчанию используется стандартный для протокола FTP - порт 21.

timeout

Задаёт время ожидания для всех операций с этим соединением. По умолчанию время ожидания устанавливается в 90 секунд. Получить и установить значение времени ожидания можно также с помощью функций ftp_set_option() и ftp_get_option().

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

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

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

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

Примеры

Пример #1 Пример использования функции 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("can't login");
}

echo
ftp_pwd($ftp); // /

// закрытие ssl-соединения
ftp_close($ftp);
?>

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

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

add a note add a note

User Contributed Notes 1 note

up
0
Reinder
4 years ago
Using PHP7.4 on Windows 10 I updated php.ini (added ftp to the list of extensions) and that worked without recompiling.
To Top