Downloads a file from the FTP server and saves to an open file

- « ftp_exec

- ftp_fput »

- PHP Manual
- FTP Functions
- Downloads a file from the FTP server and saves to an open file

# ftp_fget

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_fget — Downloads a file from the FTP server and saves to an open file

### Description

ftp_fget(
FTP\Connection `$ftp`,
resource `$stream`,
string `$remote_filename`,
int `$mode` = `FTP_BINARY`,
int `$offset` = 0
): bool

ftp_fget() retrieves `remote_filename` from the FTP server, and writes it to the given file pointer.

### Parameters

`ftp`

  An FTP\Connection instance.

`stream`

  An open file pointer in which we store the data.

`remote_filename`

  The remote file path.

`mode`

  The transfer mode. Must be either `FTP_ASCII` or `FTP_BINARY`.

`offset`

  The position in the remote file to start downloading from.

### Return Values

Returns `true` on success or `false` on failure.

### Changelog

Version | Description
--- | ---
8.1.0 | The `ftp` parameter expects an FTP\Connection instance now; previously, a resource was expected.
7.3.0 | The `mode` parameter is now optional. Formerly it has been mandatory.

### Examples

Example #1 ftp_fget() example

    <?php

    // path to remote file
    $remote_file = 'somefile.txt';
    $local_file = 'localfile.txt';

    // open some file to write to
    $handle = fopen($local_file, 'w');

    // set up basic connection
    $ftp = ftp_connect($ftp_server);

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

    // try to download $remote_file and save it to $handle
    if (ftp_fget($ftp, $handle, $remote_file, FTP_ASCII, 0)) {
     echo "successfully written to $local_file\n";
    } else {
     echo "There was a problem while downloading $remote_file to $local_file\n";
    }

    // close the connection and the file handler
    ftp_close($ftp);
    fclose($handle);
    ?>

### See Also

- ftp_get() - Downloads a file from the FTP server
- ftp_nb_get() - Retrieves a file from the FTP server and writes it to a local file (non-blocking)
- ftp_nb_fget() - Retrieves a file from the FTP server and writes it to an open file (non-blocking)