English | 简体中文 | 繁體中文
查询

stream_copy_to_stream()函数—用法及示例

「 将数据从一个流拷贝到另一个流 」


函数名称:stream_copy_to_stream()

函数描述:stream_copy_to_stream() 函数将数据从一个流拷贝到另一个流。它会持续读取源流的内容,并将其写入目标流,直到源流的内容全部被拷贝到目标流或者达到指定的最大字节数。

适用版本:PHP 4.3.0 及以上版本

语法:int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )

参数:

  • $source:源流的句柄,可以是一个打开的文件句柄或者一个 URL。
  • $dest:目标流的句柄,可以是一个打开的文件句柄或者一个 URL。
  • $maxlength(可选):最大拷贝的字节数,默认为-1,表示拷贝源流的全部内容。
  • $offset(可选):源流的起始位置,默认为0,表示从源流的开头开始拷贝。

返回值:成功时返回实际拷贝的字节数,失败时返回false。

示例:

// 打开源文件和目标文件的流
$sourceStream = fopen('source.txt', 'r');
$destStream = fopen('destination.txt', 'w');

// 将源流的内容拷贝到目标流
$bytesCopied = stream_copy_to_stream($sourceStream, $destStream);

// 关闭流
fclose($sourceStream);
fclose($destStream);

if ($bytesCopied !== false) {
   echo "成功拷贝了 {$bytesCopied} 字节的数据。";
} else {
   echo "拷贝失败。";
}

在上面的示例中,我们打开了一个源文件和一个目标文件的流,然后使用 stream_copy_to_stream() 函数将源流的内容拷贝到目标流。最后,我们关闭了流并根据返回值判断拷贝是否成功。如果成功拷贝,则输出拷贝的字节数,否则输出错误信息。

补充纠错
上一个函数: stream_filter_append()函数
下一个函数: stream_get_meta_data()函数
热门PHP函数
分享链接