ftp_fget

FTP サーバーからファイルをダウンロードし、オープン中のファイルに保存する

説明

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

ftp_fget は、FTP サーバーから remote_filename を取得し、指定したファイルポインタに書きこみます。

パラメータ

ftp

FTP\Connection クラスのインスタンス

stream

オープンされているファイルのポインタ。ここにデータが保存されます。

remote_filename

リモートファイルのパス。

mode

転送モード。FTP_ASCII または FTP_BINARY のどちらかを指定する必要があります。

offset

リモートファイル中で、ダウンロードを開始する位置。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.1.0 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
7.3.0 mode パラメータはオプションになりました。 これより前のバージョンでは、このパラメータは必須でした。

例1 ftp_fget の例

<?php

// リモートファイルへのパス。
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// 書き込み用のファイルをオープンします。
$handle = fopen($local_file, 'w');

// 接続を確立します。
$ftp = ftp_connect($ftp_server);

// ユーザー名とパスワードを指定してログインします。
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $remote_file をダウンロードし、$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";
}

// 接続およびファイルハンドラを閉じます。
ftp_close($ftp);
fclose($handle);
?>

参考

  • ftp_get
  • ftp_nb_get
  • ftp_nb_fget