stream_copy_to_stream
将数据从一个流复制到另一个流
PHP 5.1.0 及以上版本支持。
此函数用于将一个流的内容复制到另一个流中,类似于文件内容的拷贝操作。它会将一个流(例如文件流或内存流)的数据逐块地复制到另一个流。对于大型数据流,这种方法比逐行读取和写入更有效。
stream_copy_to_stream(resource $source, resource $dest [, int $length = -1 [, int $offset = 0 ]])
成功时返回实际复制的字节数;如果发生错误,则返回 false。
以下是一个简单的示例,展示如何使用 stream_copy_to_stream 将一个文件的内容复制到另一个文件:
在此示例中,我们打开一个源文件和一个目标文件流,使用 stream_copy_to_stream 函数将源文件的内容复制到目标文件中。
<?php
// 打开源文件
$source = fopen('source.txt', 'r');
if (!$source) {
die('无法打开源文件');
}
// 打开目标文件
$dest = fopen('destination.txt', 'w');
if (!$dest) {
die('无法打开目标文件');
}
// 将源文件的内容复制到目标文件
$bytesCopied = stream_copy_to_stream($source, $dest);
// 输出实际复制的字节数
echo "已复制 {$bytesCopied} 字节。\n";
// 关闭文件流
fclose($source);
fclose($dest);
?>
在这个例子中,首先打开源文件和目标文件,接着使用 stream_copy_to_stream 将源文件的内容复制到目标文件,最后输出复制的字节数并关闭文件流。