リモートファイルの最後にチャンクを追加する最も簡単な方法は、フラグを指定して使用file_put_contents
することです。FILE_APPEND
file_put_contents('ftp://username:password@hostname/path/to/file', $chunk, FILE_APPEND);
それが機能しない場合は、PHPでURLラッパーが有効になっていないことが原因である可能性があります。
書き込みをより細かく制御する必要がある場合(転送モード、パッシブモードなど)、またはを使用できない場合は、 (または)ストリームへのハンドルをfile_put_contents
使用して:を使用します。ftp_fput
php://temp
php://memory
$conn_id = ftp_connect('hostname');
ftp_login($conn_id, 'username', 'password');
ftp_pasv($conn_id, true);
$h = fopen('php://temp', 'r+');
fwrite($h, $chunk);
rewind($h);
// prevent ftp_fput from seeking local "file" ($h)
ftp_set_option($conn_id, FTP_AUTOSEEK, false);
$remote_path = '/path/to/file';
$size = ftp_size($conn_id, $remote_path);
$r = ftp_fput($conn_id, $remote_path, $h, FTP_BINARY, $size);
fclose($h);
ftp_close($conn_id);
(エラー処理を追加)