(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — 打开安全的SSL-FTP连接
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);
?>