MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUploadStocke un fichier téléchargé dans la base de données

Description

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

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