This version of the documentation is archived and no longer supported. To learn how to upgrade your version of PHP Library Manual, refer to the upgrade documentation.




Opens a writable stream for a new GridFS file.

function openUploadStream($filename, array $options = []): resource

This method has the following parameters:

Parameter Type Description
$filename string The filename of the file.
$options array Optional. An array specifying the desired options.

The $options parameter supports the following options:

Option Type Description
_id mixed Optional. Value to use as the file document identifier. Defaults to a new MongoDB\BSON\ObjectId object.
chunkSizeBytes integer Optional. The chunk size in bytes. Defaults to the bucket’s chunkSizeBytes option.
disableMD5 boolean

Optional. Whether to disable automatic MD5 generation when storing files.

Defaults to false.

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

Return Values

A writable stream resource.


Chunk documents will be created as data is written to the writable stream. The metadata document will be created when the writable stream is closed.



$bucket = (new MongoDB\Client)->test->selectGridFSBucket();

$uploadStream = $bucket->openUploadStream('filename');
fwrite($uploadStream, 'foobar');

$downloadStream = $bucket->openDownloadStreamByName('filename');

The output would then resemble:

string(6) "foobar"