How to connect ftp server using php?

❮ PHP FTP Reference

Example

Connect, login, and close an FTP connection:

Definition and Usage

The ftp_connect[] function opens an FTP connection to the specified host.

When the connection is open, you can run FTP functions against the server.

Syntax

ftp_connect[host, port, timeout];

Parameter Values

ParameterDescription
host Required. Specifies the FTP server to connect to. Can be a domain address or an IP address. This parameter should not be prefixed with "ftp://" or have any trailing slashes
port Optional. Specifies the port of the FTP server. Default is port 21
timeout Optional. Specifies the timeout for all subsequent network operations. Default is 90 seconds

Technical Details

Return Value:PHP Version:PHP Changelog:
An FTP stream on success or FALSE on error
4+
The timeout parameter was added in PHP 4.2.0

❮ PHP FTP Reference


FTP connection functions have been built into PHP since version 4 and make transferring files through FTP very easy.

The main function involved is called ftp_connect[] which takes a FTP host as a parameter and attempts to connect to it. The port and a timeout limit can also be added to the function if needed.

Once a connection has been made then the ftp_login[] function is used to attempt a login. This function returns true on success and false if it fails. The following snippet of code will attempt to connect and login to an FTP server, if any step fails then the code will print out a message saying so.

$host= 'ftp.example.com';
$user = 'notarealusername';
$password = 'notarealpassword';
$ftpConn = ftp_connect[$host];
$login = ftp_login[$ftpConn,$user,$password];
// check connection
if [[!$ftpConn] || [!$login]] {
 echo 'FTP connection has failed! Attempted to connect to '. $host. ' for user '.$user.'.';
} else{
 echo 'FTP connection was a success.';
 $directory = ftp_nlist[$ftpConn,''];
 echo '
'.print_r[$directory, true].'
'; } ftp_close[$ftpConn];

The ftp_close[] function takes the resource identifier and a closes it. Here is what is printed out if the code fails.

FTP connection has failed! Attempted to connect to ftp.example.com for user notarealusername.

If the connection is a success then the script attempts to retrieve the contents of the root directory, this is done using the ftp_nlist[] function. Here is a typical example of what might be found if the code successfully connects to an FTP server.

FTP connection was a success.
Array
[
 [0] => cgi-bin
 [1] => logfiles
 [2] => html
]

There are a lot of different FTP functions available, covering the main things that would expect any FTP program to do. The main ones you might use are ftp_get[] to download files, ftp_put[] to upload files and ftp_nlist[] to view the contents of a directory. There is also a function called ftp_chmod[] which allows you to set the permissions of a directory on your FTP server.

Comments

Add new comment

[PHP 4, PHP 5, PHP 7, PHP 8]

ftp_connectOpens an FTP connection

Description

ftp_connect[string $hostname, int $port = 21, int $timeout = 90]: FTP\Connection|false

Parameters

hostname

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 in seconds 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 an FTP\Connection instance on success, or false on failure.

Changelog

VersionDescription
8.1.0 Returns an FTP\Connection instance now; previously, a resource was returned.

Examples

Example #1 ftp_connect[] example

Chủ Đề