(PECL mongo >=0.9.0)
MongoGridFS::storeFile — Stocke un fichier dans la base de données
$filename
[, array $metadata = array()
[, array $options = array()
]] )
filename
Le nom du fichier ou un flux lisible à stocker.
metadata
Les autres champs de méta-données à inclure dans le fichier document.
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.
options
Un tableau d'options pour les opérations d'insertion exécutées sur les collections chunks et files. Voir la méthode MongoCollection::insert() pour une documentation de ces options.
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.
Lance une exception MongoGridFSException si une
erreur survient lors de la lecture du fichier filename
ou lors de l'insertion dans les collections chunks ou
files.
Exemple #1 Exemple avec MongoGridFS::storeFile() avec des méta-données additionnelles
<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();
$id = $gridfs->storeFile('example.txt', array('contentType' => 'plain/text'));
$gridfsFile = $gridfs->get($id);
var_dump($gridfsFile->file);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
array(7) {
["_id"]=>
object(MongoId)#6 (0) {
}
["contentType"]=>
string(10) "plain/text"
["filename"]=>
string(11) "example.txt"
["uploadDate"]=>
object(MongoDate)#7 (0) {
}
["length"]=>
int(26)
["chunkSize"]=>
int(262144)
["md5"]=>
string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}