MongoGridFS::storeUpload
(PECL mongo >=0.9.0)
MongoGridFS::storeUpload — Stocke un fichier téléchargé dans la base de données
Description
Liste de paramètres
-
name -
Le nom du ou des fichiers téléchargés à stocker. Il doit correspondre à l'attribut name du formulaire HTML.
-
metadata -
Autres champs de méta-données à inclure dans le document fichier.
Note:
Ces champs peuvent aussi écraser ceux qui auraient pu être créés automatiquement par le driver, tel que décrit dans la documentation MongoDB sur les » fichiers de collection. Une des particularités de ce comportement serait de spécifier un chunkSize ou un _id personnalisé pour le fichier.
Note:
Le champ filename contiendra le nom du fichier client (i.e.$_FILES['foo']['name']).
Valeurs de retour
Retourne l'_id du fichier document sauvegardé. Cela va retourner un MongoId généré tant qu'un _id ne soit explicitement spécifié dans le paramètre metadata.
Note:
Si plusieurs fichiers sont téléchargés en utilisant le même nom de champ, cette méthode ne retournera rien ; cependant, les fichiers eux-même seront tout de même traités.
Erreurs / Exceptions
Lance une exception MongoGridFSException si une erreur survient lors de la lecture du ou des fichiers téléchargés, ou lors de l'insertion dans la collection chunks ou files.
Historique
| Version | Description |
|---|---|
| 1.2.5 | Modification du second paramètre en un tableau de méta-données. Avant la version 1.2.5, le second paramètre étaient une chaîne optionnelle permettant d'écraser le nom du fichier. |
Exemples
Exemple #1 Exemple avec MongoGridFS::storeUpload() et un formulaire HTML
Supposons que vous avez le formulaire HTML suivant :
<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 vous voulez stocker l'image téléchargé dans MongoDB, vous pouvez le faire grâce au script suivant, gérant la soumission du formulaire :
<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();
$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>
Voir aussi
- MongoGridFS::put() - Stocke un fichier dans la base de données
- MongoGridFS::storeBytes() - Stocke une chaîne d'octets dans la base de données
- MongoGridFS::storeFile() - Stocke un fichier dans la base de données
- Documentation coeur MongoDB sur » GridFS