stream_copy_to_stream

(PHP 5, PHP 7, PHP 8)

stream_copy_to_streamデータをあるストリームから別のストリームにコピーする

説明

stream_copy_to_stream(
    resource $from,
    resource $to,
    ?int $length = null,
    int $offset = 0
): int|false

現在の位置(あるいはもし指定されていれば offset の位置)から最大 length バイトのデータを from から to にコピーします。もし lengthnull の 場合は、from にある残りすべてのデータが コピーされます。

パラメータ

from

コピー元のストリーム。

to

コピー先のストリーム。

length

コピーする最大バイト数。 デフォルトでは、残りの全てのデータがコピーされます。

offset

コピーを開始する位置。

戻り値

コピーされたバイト数を返します。失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 length は、nullable になりました。

例1 stream_copy_to_stream() の例

<?php
$src
= fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo
stream_copy_to_stream($src, $dest1, 1024) . " バイトが first1k.txt にコピーされました\n";
echo
stream_copy_to_stream($src, $dest2) . " バイトが remainder.txt にコピーされました\n";

?>

参考

  • copy() - ファイルをコピーする