(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — 打開(kāi) SSL-FTP 連接
$host
, int $port
= 21, int $timeout
= 90): resource
ftp_ssl_connect() 顯式的打開(kāi)一個(gè)到
host
的安全 FTP 連接(SSL-FTP)。
即使服務(wù)器未配置 SSL-FTP,或者服務(wù)器的證書(shū)無(wú)效,ftp_ssl_connect()
函數也會(huì )成功的建立到服務(wù)器的連接。直到調用 ftp_login() 函數的時(shí)候,
客戶(hù)端才會(huì )發(fā)送對應的 AUTH FTP 命令,此時(shí),如果服務(wù)器未配置 SSL-FTP 或者整數無(wú)效,
ftp_login() 函數會(huì )失敗。
注意: 為何本函數有可能不存在?
只有 PHP 構建時(shí)同時(shí)包含了 ftp 模塊 和 OpenSSL 模塊時(shí), ftp_ssl_connect() 函數才可用。 也就是說(shuō),在 Windows 平臺上,官方發(fā)布的 PHP 構建中本函數不可用。 如果需要在 Windows 平臺使用本函數,需要自行編譯 PHP。
注意:
ftp_ssl_connect() 不是用來(lái)連接 sFTP 服務(wù)的。 要在 PHP 中使用 sFTP,請參見(jiàn) ssh2_sftp()。
host
FTP 服務(wù)器地址。
此參數末尾不可以有斜線(xiàn),開(kāi)頭也不可以有 ftp://
。
port
要連接的端口。如果省略此參數或設置為 0,將使用 FTP 默認端口 21。
timeout
此參數設置所有后續網(wǎng)絡(luò )操作的超時(shí)時(shí)長(cháng)。 如果省略,默認值為 90 秒。 可以使用 ftp_set_option() 和 ftp_get_option() 函數隨時(shí)讀取或設置超時(shí)時(shí)長(cháng)。
操作成功返回 SSL-FTP 流,操作失敗返回 false
。
版本 | 說(shuō)明 |
---|---|
5.2.2 |
以前版本中,如果無(wú)法使用 SSL 連接,將會(huì )返回一個(gè)非 SSL 的連接,
在 5.2.2 版本中修改為返回 false
|
示例 #1 ftp_ssl_connect() 函數例程
<?php
// 建立基礎 SSL 連接
$conn_id = ftp_ssl_connect($ftp_server);
// 使用用戶(hù)名和密碼登錄
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (!$login_result) {
// 在這種情況下,PHP 會(huì )發(fā)生 E_WARNING 級別的告警消息
die("can't login");
}
echo ftp_pwd($conn_id); // /
// 關(guān)閉 ssl 連接
ftp_close($conn_id);
?>