MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUploadAlmacena un fichero subido en la base de datos

Descripción

public MongoGridFS::storeUpload ( string $name [, array $metadata ] ) : mixed

Parámetros

name

El nombre del fichero o ficheros subidos a almacenar. Debería corresponder con el atributo name del campo del fichero del formulario HTML.

metadata

Otros campos de metadatos a incluir en el documento de fichero.

Nota:

Estos cambpos podrían sobrescribir aquellos que serían creados automáticamente por el controlador, tal como está descrito es la documentación del núcleo de MongoDB para las » colecciones de ficheros. Algunos casos prácticos para este comportamiento serían especificar un chunkSize o _id personalizados para un fichero.

Nota:

El campo filename será rellenado con el nombre de fichero del cliente (p.ej., $_FILES['foo']['name']).

Valores devueltos

Devuelve el _id del documento de fichero guardado. Será un MongoId generado a menos que unless sea especificado explícitamente un _id en el parámetro metadata.

Nota:

Si se suben varios ficheros empleando el mismo nombre de campo, este método no devolverá nada; sin embargo, los ficheros en sí serán procesados.

Errores/Excepciones

Lanza una MongoGridFSException si ocurre un error al leer el fichero o ficheros subidos o al realizar la inserción en las colecciones chunks o files.

Historial de cambios

Versión Descripción
1.2.5 Se cambió el segundo parámetro a un array de metadatos. Antes de la versión 1.2.5, el segundo parámetro era un string opcional que reemplazaba el nombre de fichero.

Ejemplos

Ejemplo #1 Ejemplo de forumulario HTML con MongoGridFS::storeUpload()

Suponer que se tiene el siguiente formulario HTML:

<form method="POST" enctype="multipart/form-data">
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />

    <label for="pic">Please upload a profile picture:</label>
    <input type="file" name="pic" id="pic" />

    <input type="submit" />
</form>

Si se quiere almacenar la imagen subida en MongoDB, podría realizarse lo siguiente en el script manejando el envío del formulario:

<?php
$m 
= new MongoClient();
$gridfs $m->selectDB('test')->getGridFS();

$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>

Ver también