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 将源文件的内容复制到目标文件,最后输出复制的字节数并关闭文件流。