(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — 打开一个安全的 SSL-FTP 连接
ftp_ssl_connect() 打开一个显式 SSL-FTP 连接到指定的 hostname
。这意味着即使服务器没有为 SSL-FTP 配置,或者其证书无效,ftp_ssl_connect() 也会成功。只有当调用 ftp_login() 时,客户端才会发送相应的 AUTH FTP 命令,因此在上述情况下,ftp_login() 将会失败。
注意: 为什么这个函数可能不存在
在 PHP 7.0.0 之前,ftp_ssl_connect() 仅在 ftp 模块和 OpenSSL 支持都已静态构建到 php 中时才可用;这意味着在 Windows 上,此函数在官方 PHP 构建中是未定义的。要在 Windows 上使用此函数,必须编译自己的 PHP 二进制文件。
注意:
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 实例;之前,返回一个 资源。 |
示例 #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);
?>