MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUploadStores an uploaded file in the database

Descrierea

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

Parametri

name

The name of the uploaded file(s) to store. This should correspond to the file field's name attribute in the HTML form.

metadata

Other metadata fields to include in the file document.

Notă:

Aceste câmpuri pot să le rescrie pe cele create automat de către driver, după cum e descris în documentația de bază MongoDB pentru » colecția de fișiere. Ca un exemplu de utilizare practică a acestui comportament ar fi specificarea unor valori specifice pentru chunkSize sau _id pentru fișier.

Notă:

The filename field will be populated with the client's filename (e.g. $_FILES['foo']['name']).

Valorile întoarse

Întoarce valoarea _id a fișierului cu documentul salvat. Acesta va fi un MongoId generat, doar dacă un _id nu a fost specificat în mod explicit în parametrul metadata.

Notă:

If multiple files are uploaded using the same field name, this method will not return anything; however, the files themselves will still be processed.

Erori/Excepții

Throws MongoGridFSException if there is an error reading the uploaded file(s) or inserting into the chunks or files collections.

Istoricul schimbărilor

Versiune Descriere
1.2.5 Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.

Exemple

Example #1 MongoGridFS::storeUpload() HTML form example

Suppose you have the following HTML form:

<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>

If you wanted to store the uploaded image in MongoDB, you could do the following in the script handling the form submission:

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

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

A se vedea și