セキュアな SSL-FTP 接続をオープンする

# ftp_ssl_connect

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

ftp_ssl_connect — セキュアな SSL-FTP 接続をオープンする

### 説明

ftp_ssl_connect ( string `$host` [, int `$port` = 21 [, int `$timeout` = 90 ]] ) : resource

ftp_ssl_connect() は、指定した `host` への明示的な SSL-FTP 接続をオープンします。 サーバー側が SSL-FTP 接続に対応していなかったり、証明書が無効であったりした場合でも、 ftp_ssl_connect() は成功します。 そういった場合は、ftp_login() を呼んで AUTH FTP コマンドを送信した時点ではじめて、 ftp_login() が失敗することになります。

> 注意: この関数が存在しないことがあるのはなぜですか？

> ftp_ssl_connect() が使えるのは、 ftp モジュールおよび OpenSSL サポートが静的に PHP に組み込まれている場合のみです。 つまり、Windows 版の PHP 公式ビルドではこの関数は使えないということです。 この関数を Windows で使いたい場合は、PHP バイナリを自分でコンパイルしなければなりません。

> 注意:

> ftp_ssl_connect() は、sFTP で使うための関数ではありません。 PHP で sFTP を使うには ssh2_sftp() を参照ください。

### パラメータ

`host`

  FTP サーバーのアドレス。このパラメータには、最後のスラッシュや 先頭の ftp:// をつけてはいけません。

`port`

  `port` パラメータは別のポートに接続することを 指定します。これを省略するか 0 にした場合、デフォルトの FTP ポート、 つまり 21 が使用されます。

`timeout`

  このパラメータは、以降の全てのネットワーク処理の タイムアウトを指定します。省略された場合の デフォルト値は、90 秒となります。timeout は、 ftp_set_option() および ftp_get_option() でいつでも変更および取得可能です。

### 返り値

成功した場合に SSL-FTP ストリーム、エラー時に `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
5.2.2 | この関数は、SSL 接続を使用できないときに `FALSE` を返すようになりました。 これまでは、SSL ではない接続に移行していました。

### 例

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

### 参考

- ftp_connect() - FTP 接続をオープンする