函数名称: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() 函数将源流的内容拷贝到目标流。最后,我们关闭了流并根据返回值判断拷贝是否成功。如果成功拷贝,则输出拷贝的字节数,否则输出错误信息。