ftp_ssl_connect
(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);
?>