PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ftp_systype> <ftp_size
Last updated: Fri, 10 Oct 2008

view this page in

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

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

説明

resource ftp_ssl_connect ( string $host [, int $port [, int $timeout ]] )

ftp_ssl_connect() は、指定した host への SSL-FTP 接続をオープンします。

注意: この関数が存在しないことがあるのはなぜですか?
ftp_ssl_connect() は、 OpenSSL サポートがあなたの使っている PHP で有効になっているときにのみ使うことができます。 FTP サポートを有効にしているにもかかわらず この関数が定義されていないのは、それが理由です。 Windows でこの関数のサポートを有効にするには、自分で PHP バイナリを コンパイルする必要があります。

パラメータ

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

echo 
ftp_pwd($conn_id); // /

// SSL 接続を閉じる
ftp_close($conn_id);
?>

参考



ftp_systype> <ftp_size
Last updated: Fri, 10 Oct 2008
 
add a note add a note User Contributed Notes
ftp_ssl_connect
contact dot removethis at deciacco dot com
16-Oct-2007 10:00
For those of you that see this for the first time and might be discouraged from having to compile PHP, please take a look at this page: http://www.deciacco.com/blog/archives/124
none
09-Feb-2005 07:24
I wasted a lot of time trying to get FTP over SSL/TLS working in PHP on Windows OS (with precompiled SSL PHP-packages etc.). However, it never worked for me.

I'm happy I found a nice solution now:
using "MovieIt Freely", a commandline FTP-Client, freeware at http://www.standardnetworks.com.
A nice tool that worked on all SSL/TLS-enabled FTP-Server for me.

Its easy to get it to interact with PHP:
a) Create a temporary batch-txt-file and therein write all your commands to be performed
b) then launch the program with exec() or backticks, let MovieIt read the batch-txt-file and forward/write down the log/results in a temporary results-txt-file
c) Finally read the log/results-txt-file

Check the manual for details.

Hope it helps. Cheers!
philip at php dot net
15-Jul-2004 06:08
Since ftp_ssl_connect() requires SSL compiled into PHP, Windows users will need to compile their own PHP this way or download it from another source.  Here's one such (and trusted) source:
* http://ftp.emini.dk/pub/php/win32/openssl/
moolder at gmx dot net
21-Jan-2004 06:56
Just remember: SSL FTP != SFTP

Differences: an SSL FTP connects on port 990, and you need an ftp server which will support this (seems like none in the SuSE linux distribution do). Even if you get this function to work, and it connects ok to a normal FTP server on port 21, data WILL NOT BE ENCRYPTED. If you don't believe me, go sniff it yourself!

ftp_systype> <ftp_size
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites