ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_ssl_connect打開(kāi) SSL-FTP 連接

說(shuō)明

ftp_ssl_connect(string $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() 函數(shù)也會(huì)成功的建立到服務(wù)器的連接。直到調(diào)用 ftp_login() 函數(shù)的時(shí)候, 客戶端才會(huì)發(fā)送對(duì)應(yīng)的 AUTH FTP 命令,此時(shí),如果服務(wù)器未配置 SSL-FTP 或者整數(shù)無(wú)效, ftp_login() 函數(shù)會(huì)失敗。

注意: 為何本函數(shù)有可能不存在?

只有 PHP 構(gòu)建時(shí)同時(shí)包含了 ftp 模塊 和 OpenSSL 模塊時(shí), ftp_ssl_connect() 函數(shù)才可用。 也就是說(shuō),在 Windows 平臺(tái)上,官方發(fā)布的 PHP 構(gòu)建中本函數(shù)不可用。 如果需要在 Windows 平臺(tái)使用本函數(shù),需要自行編譯 PHP。

注意:

ftp_ssl_connect() 不是用來(lái)連接 sFTP 服務(wù)的。 要在 PHP 中使用 sFTP,請(qǐng)參見(jiàn) ssh2_sftp()。

參數(shù)

host

FTP 服務(wù)器地址。 此參數(shù)末尾不可以有斜線,開(kāi)頭也不可以有 ftp://

port

要連接的端口。如果省略此參數(shù)或設(shè)置為 0,將使用 FTP 默認(rèn)端口 21。

timeout

此參數(shù)設(shè)置所有后續(xù)網(wǎng)絡(luò)操作的超時(shí)時(shí)長(zhǎng)。 如果省略,默認(rèn)值為 90 秒。 可以使用 ftp_set_option()ftp_get_option() 函數(shù)隨時(shí)讀取或設(shè)置超時(shí)時(shí)長(zhǎng)。

返回值

操作成功返回 SSL-FTP 流,操作失敗返回 false

更新日志

版本 說(shuō)明
5.2.2 以前版本中,如果無(wú)法使用 SSL 連接,將會(huì)返回一個(gè)非 SSL 的連接, 在 5.2.2 版本中修改為返回 false

范例

示例 #1 ftp_ssl_connect() 函數(shù)例程

<?php

// 建立基礎(chǔ) SSL 連接
$conn_id ftp_ssl_connect($ftp_server);

// 使用用戶名和密碼登錄
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

if (!
$login_result) {
    
// 在這種情況下,PHP 會(huì)發(fā)生 E_WARNING 級(jí)別的告警消息
    
die("can't login");
}

echo 
ftp_pwd($conn_id); // /

// 關(guān)閉 ssl 連接
ftp_close($conn_id);
?>

參見(jiàn)