ftp_ssl_connect()
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
打开 SSL-FTP 连接
说明
ftp_ssl_connect(string $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()函数会失败。
Note:为何本函数有可能不存在?只有 PHP 构建时同时包含了 ftp 模块和OpenSSL模块时,ftp_ssl_connect()函数才可用。也就是说,在 Windows 平台上,官方发布的 PHP 构建中本函数不可用。如果需要在 Windows 平台使用本函数,需要自行编译 PHP。
Note: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 |
范例
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); ?>
参见
ftp_connect()
建立一个新的 FTP 连接