For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.

MongoDB\GridFS\Bucket::uploadFromStream()

MongoDB\GridFS\Bucket::uploadFromStream()

Creates a new GridFS file and copies the contents of a readable stream to it.

function uploadFromStream( string $filename, resource $source, array $options = []): mixed
$filename : string
The filename of the file to create.
$source : resource
Readable stream, from which the new GridFS file's contents will be read.
$options : array

An array specifying the desired options.

Name
Type
Description

_id

mixed

Value to use as the file document identifier. Defaults to a new MongoDB\BSON\ObjectId object.

chunkSizeBytes

integer

The chunk size in bytes. Defaults to the bucket's chunkSizeBytes option.

metadata

array|object

User data for the metadata field of the file document. If not specified, the metadata field will not be set on the file document.

The _id field of the metadata document associated with the newly created GridFS file. If the _id option is not specified, a new MongoDB\BSON\ObjectId object will be used by default.

MongoDB\Exception\InvalidArgumentException for errors related to the parsing of parameters or options.

MongoDB\Driver\Exception\RuntimeException for other errors at the extension level (e.g. connection errors).

<?php $bucket = (new MongoDB\Client)->test->getGridFSBucket(); $stream = fopen('php://temp', 'w+b');fwrite($stream, "foobar");rewind($stream); $id = $bucket->uploadFromStream('filename', $stream); var_dump($id);

The output would then resemble:

object(MongoDB\BSON\ObjectId)#3009 (1) { ["oid"]=> string(24) "5acf81017e21e816e538d883"}