ftp_fget

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

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

説明

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

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.0mode パラメータはオプションになりました。 これより前のバージョンでは、このパラメータは必須でした。

例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 サーバーからファイルをダウンロードする
  • ftp_nb_get() - FTP サーバーからファイルを取得し、ローカルファイルに書き込む(非ブロッキング)
  • ftp_nb_fget() - FTP サーバーからファイルをダウンロードし、オープン中のファイルに保存する(非ブロッキング)
To Top