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() が失敗することになります。
注意:
この関数が存在しないことがあるのはなぜですか?
PHP 7.0.0 より前のバージョンでは、 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
を返します。
例
例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);?>