ftp_fget

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

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

説明

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

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

パラメータ

ftp

FTP 接続のリンク ID 。

stream

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

remote_filename

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

mode

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

offset

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

返り値

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

変更履歴

バージョン 説明
7.3.0 mode パラメータはオプションになりました。 これより前のバージョンでは、このパラメータは必須でした。

例1 ftp_fget() の例

<?php

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

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

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

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

// $remote_file をダウンロードし、$handle に保存しようとします。
if (ftp_fget($conn_id$handle$remote_fileFTP_ASCII0)) {
 echo 
"$local_file への書き込みに成功しました\n";
} else {
 echo 
"$remote_file を $local_file にダウンロードする際に問題が発生しました\n";
}

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

参考

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