2024 年 PHP Conference Japan

ftp_ssl_connect

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

ftp_ssl_connect開啟安全 SSL-FTP 連線

說明

ftp_ssl_connect(字串 $hostname, 整數 $port = 21, 整數 $timeout = 90): FTP\Connection|false

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

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top