Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

MongoDB\GridFS\Bucket::uploadFromStream()

MongoDB\GridFS\Bucket::uploadFromStream()

Cria um novo arquivo GridFS e copia o conteúdo de um fluxo legível para ele.

function uploadFromStream( string $filename, resource $source, array $options = []): mixed
$filename : string
O filename do arquivo a ser criado.
$source : recurso
Fluxo legível, a partir do qual o conteúdo do novo arquivo GridFS será lido.
$options : array

Uma array especificando as opções desejadas.

Nome
Tipo
Descrição

_id

misto

Valor a ser usado como identificador do documento de arquivo. O padrão é um novo objeto MongoDB\BSON\ObjectId.

chunkSizeBytes

inteiro

O tamanho da parte em bytes. O padrão é a opção chunkSizeBytes do bucket.

disableMD5

booleano

Se a geração automática de md5 deve ser desabilitada ao armazenar arquivos.

Padrão é false. Somente true será suportado em 2.0.

Novidades na versão 1.4.

metadata

array|object

Dados do usuário para o campo metadata do documento de arquivo. Se não for especificado, o campo metadata não será definido no documento do arquivo.

O campo _id do documento de metadados associado ao arquivo GridFS recém-criado. Se a opção _id não for especificada, um novo objeto MongoDB\BSON\ObjectId será usado por padrão.

MongoDB\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções.

MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).

<?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);

A saída seria então semelhante a:

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