Supported Versions: PHP 5, PHP 7, PHP 8
Copies data from one stream to another
<?php stream_copy_to_stream( resource $from, resource $to, ?int $length = null, int $offset = 0): int|false
<?php public function dimensions()
{
stream_copy_to_stream($this->storage->readStream($this->path), $tmpFile = tmpfile());
return @getimagesize(stream_get_meta_data($tmpFile)['uri']);
}
<?php private function copyStreamToStream($source, $target): void
{
if (@stream_copy_to_stream($source, $target) === false) {
throw CannotCopyStreamToStream::new(error_get_last());
}
}
<?php error_clear_last();
$stream = @fopen($prefixedLocation, 'w+b');
if ( ! ($stream && false !== stream_copy_to_stream($contents, $stream) && fclose($stream))) {
$reason = error_get_last()['message'] ?? '';
throw UnableToWriteFile::atLocation($prefixedLocation, $reason);
}
<?php $source = fopen($source, 'r');
$target = fopen($target, 'w+');
stream_copy_to_stream($source, $target);
fclose($source);
fclose($target);
}
<?php throw new IOException(sprintf('Failed to copy "%s" to "%s" because target file could not be opened for writing.', $originFile, $targetFile), 0, null, $originFile);
}
$bytesCopied = stream_copy_to_stream($source, $target);
fclose($source);
fclose($target);
unset($source, $target);