Docs Menu
Docs Home
/ / /
PHP 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.
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->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"
}

Back

rename()