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.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_fileFTP_ASCII0)) {
 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 サーバーからファイルをダウンロードし、オープン中のファイルに保存する(非ブロッキング)

関連キーワード:  サーバー, ダウンロード, オープン, 保存, ファイル, fget, バージョン, Connection, パラメータ, remote