(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — 開啟安全 SSL-FTP 連線
ftp_ssl_connect() 會開啟一個到指定 hostname
的*顯式* SSL-FTP 連線。這意味著即使伺服器未設定 SSL-FTP,ftp_ssl_connect() 也會成功。只有在呼叫 ftp_login() 時,用戶端才會發送適當的 AUTH FTP
指令,因此 ftp_login() 才會失敗。ftp_ssl_connect() 建立的連線*不會*執行對端憑證驗證。
注意:為什麼這個函式可能不存在
在 PHP 7.0.0 之前,ftp_ssl_connect() 僅在 ftp 模組和 OpenSSL 支援都已靜態建置到 php 中時才可用;這表示在 Windows 上,這個函式在官方 PHP 版本中是未定義的。要在 Windows 上使用此函式,必須編譯自己的 PHP 二進位檔。
注意事項:
ftp_ssl_connect() 不適用於 sFTP。要在 PHP 中使用 sFTP,請參閱 ssh2_sftp()。
hostname
FTP 伺服器位址。此參數不應有任何尾端斜線,也不應以 ftp://
為前綴。
port
此參數指定要連線的替代埠。如果省略或設為零,則會使用預設的 FTP 埠 21。
timeout
此參數指定所有後續網路操作的逾時時間。如果省略,則預設值為 90 秒。可以使用 ftp_set_option() 和 ftp_get_option() 隨時更改和查詢逾時時間。
成功時返回 FTP\Connection 實例,失敗時返回 false
。
版本 | 說明 |
---|---|
8.1.0 | 現在返回 FTP\Connection 實例;以前返回的是 資源。 |
範例 #1 ftp_ssl_connect() 範例
<?php
// 設定基本的 ssl 連線
$ftp = ftp_ssl_connect($ftp_server);
// 使用使用者名稱和密碼登入
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
if (!$login_result) {
// 在這種情況下,PHP 已經會產生一個 E_WARNING 等級的訊息
die("無法登入");
}
echo ftp_pwd($ftp);
// 關閉 ssl 連線
ftp_close($ftp);
?>