Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : FTP Functions : ftp_ssl_connect

ftp_ssl_connect

Opens an Secure SSL-FTP connection (PHP 4 >= 4.3.0, PHP 5)
resource ftp_ssl_connect ( string host [, int port [, int timeout]] )

ftp_ssl_connect() opens a SSL-FTP connection to the specified host.

Why this function may not exist:

ftp_ssl_connect() is only available if OpenSSL support is enabled into your version of PHP. If it's undefined and you've compiled FTP support then this is why. For Windows you must compile your own PHP binaries to support this function.

Parameters

host

The FTP server address. This parameter shouldn't have any trailing slashes and shouldn't be prefixed with ftp://.

port

This parameter specifies an alternate port to connect to. If it is omitted or set to zero, then the default FTP port, 21, will be used.

timeout

This parameter specifies the timeout for all subsequent network operations. If omitted, the default value is 90 seconds. The timeout can be changed and queried at any time with ftp_set_option() and ftp_get_option().

Return Values

Returns a SSL-FTP stream on success or FALSE on error.

ChangeLog

Version Description
5.2.2 The function was changed to return FALSE when it can't use an SSL connection, instead of fallbacking to a non-SSL one as previously.

Examples

Example 750. ftp_ssl_connect() example

<?php

// set up basic ssl connection
$conn_id = ftp_ssl_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo
ftp_pwd($conn_id); // /

// close the ssl connection
ftp_close($conn_id);
?>


See Also
ftp_connect()

Code Examples / Notes » ftp_ssl_connect

philip

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

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!


none

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!


contact dot removethis

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

Change Language


Follow Navioo On Twitter
ftp_alloc
ftp_cdup
ftp_chdir
ftp_chmod
ftp_close
ftp_connect
ftp_delete
ftp_exec
ftp_fget
ftp_fput
ftp_get_option
ftp_get
ftp_login
ftp_mdtm
ftp_mkdir
ftp_nb_continue
ftp_nb_fget
ftp_nb_fput
ftp_nb_get
ftp_nb_put
ftp_nlist
ftp_pasv
ftp_put
ftp_pwd
ftp_quit
ftp_raw
ftp_rawlist
ftp_rename
ftp_rmdir
ftp_set_option
ftp_site
ftp_size
ftp_ssl_connect
ftp_systype
eXTReMe Tracker