PHP Conference Japan 2024

ftp_ssl_connect

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

ftp_ssl_connect打开安全的SSL-FTP连接

描述

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

ftp_ssl_connect() 打开与指定 hostname显式 SSL-FTP 连接。这意味着即使服务器未配置为SSL-FTP,ftp_ssl_connect() 也会成功。只有当调用 ftp_login() 时,客户端才会发送相应的 AUTH FTP 命令,因此 ftp_login() 会失败。由 ftp_ssl_connect() 建立的连接不会执行对等证书验证。

注意: 为什么此函数可能不存在

在PHP 7.0.0之前,只有当ftp模块和OpenSSL支持都静态编译到php中时,ftp_ssl_connect()才可用;这意味着在Windows上,此函数在官方PHP版本中未定义。要在Windows上使用此函数,需要自己编译PHP二进制文件。

注意:

ftp_ssl_connect() 不适用于sFTP。要使用PHP的sFTP,请参阅 ssh2_sftp()

参数

hostname

FTP服务器地址。此参数不应包含任何尾部斜杠,也不应以 ftp:// 为前缀。

port

此参数指定要连接的备用端口。如果省略或设置为零,则使用默认FTP端口21。

timeout

此参数指定所有后续网络操作的超时时间。如果省略,则默认值为90秒。超时时间可以使用 ftp_set_option()ftp_get_option()随时更改和查询。

返回值

成功时返回一个 FTP\Connection 实例,失败时返回 false

变更日志

版本 描述
8.1.0 现在返回一个 FTP\Connection 实例;以前返回的是一个 资源

范例

示例 #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("无法登录");
}

echo
ftp_pwd($ftp);

// 关闭ssl连接
ftp_close($ftp);
?>

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top