Docs Menu

Docs HomePHP Library Manual

MongoDB\GridFS\Bucket::uploadFromStream()

On this page

  • Definition
  • Parameters
  • Return Values
  • Errors/Exceptions
  • Examples
  • See Also
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.
disableMD5
boolean

Whether to disable automatic MD5 generation when storing files.

Defaults to false. Only true will be supported in 2.0.

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 driver level (e.g. connection errors).

<?php
$bucket = (new MongoDB\Client)->test->selectGridFSBucket();
$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"
}
←  MongoDB\GridFS\Bucket::rename()Result Classes →