PHP - Manual: ftp_ssl_connect
2024-12-22
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — 打开 SSL-FTP 连接
$host
, int $port
= 21, int $timeout
= 90): resource
ftp_ssl_connect() 显式的打开一个到
host
的安全 FTP 连接(SSL-FTP)。
即使服务器未配置 SSL-FTP,或者服务器的证书无效,ftp_ssl_connect()
函数也会成功的建立到服务器的连接。直到调用 ftp_login() 函数的时候,
客户端才会发送对应的 AUTH FTP 命令,此时,如果服务器未配置 SSL-FTP 或者整数无效,
ftp_login() 函数会失败。
注意: 为何本函数有可能不存在?
只有 PHP 构建时同时包含了 ftp 模块 和 OpenSSL 模块时, ftp_ssl_connect() 函数才可用。 也就是说,在 Windows 平台上,官方发布的 PHP 构建中本函数不可用。 如果需要在 Windows 平台使用本函数,需要自行编译 PHP。
注意:
ftp_ssl_connect() 不是用来连接 sFTP 服务的。 要在 PHP 中使用 sFTP,请参见 ssh2_sftp()。
host
FTP 服务器地址。
此参数末尾不可以有斜线,开头也不可以有 ftp://
。
port
要连接的端口。如果省略此参数或设置为 0,将使用 FTP 默认端口 21。
timeout
此参数设置所有后续网络操作的超时时长。 如果省略,默认值为 90 秒。 可以使用 ftp_set_option() 和 ftp_get_option() 函数随时读取或设置超时时长。
操作成功返回 SSL-FTP 流,操作失败返回 false
。
版本 | 说明 |
---|---|
5.2.2 |
以前版本中,如果无法使用 SSL 连接,将会返回一个非 SSL 的连接,
在 5.2.2 版本中修改为返回 false
|
示例 #1 ftp_ssl_connect() 函数例程
<?php
// 建立基础 SSL 连接
$conn_id = ftp_ssl_connect($ftp_server);
// 使用用户名和密码登录
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (!$login_result) {
// 在这种情况下,PHP 会发生 E_WARNING 级别的告警消息
die("can't login");
}
echo ftp_pwd($conn_id); // /
// 关闭 ssl 连接
ftp_close($conn_id);
?>
官方地址:https://www.php.net/manual/en/function.ftp-ssl-connect.php