MongoGridFS::storeUpload
(PECL mongo >=0.9.0)
MongoGridFS::storeUpload — Сохраняет загруженный файл в базе данных
Описание
Список параметров
-
name -
Имя загруженного файла(ов) для сохранения. Должно соответствовать атрибуту
nameполя файл в форме HTML. -
metadata -
Другие поля метаданных для включения в файл документа.
Замечание:
Данные поля могут перезаписать поля, автоматически созданные драйвером, как указано в основной документации MongoDB » коллекции файлов. В качестве практического применения данного поведения можно указать собственный
chunkSizeили_idдля файла.Замечание:
Поле
filenameбудет заполнено именем файла клиента (например,$_FILES['foo']['name']).
Возвращаемые значения
Возвращает _id сохраненного документа. Это будет сгенерированный MongoId, за исключением случая, когда _id был явно указан в параметре metadata.
Замечание:
Если несколько файлов загружены с использованием одного и того же имени поля, этот метод ничего не вернет; однако сами файлы все равно будут обработаны.
Ошибки
Выдает исключение MongoGridFSException,
если при чтении загруженных файлов или вставке в коллекции chunks
или files возникает ошибка.
Список изменений
| Версия | Описание |
|---|---|
| PECL mongo 1.2.5 | Изменен второй параметр на массив метаданных. До 1.2.5 вторым параметром была необязательная строка, переопределяющая имя файла. |
Примеры
Пример #1 Пример HTML-формы для MongoGridFS::storeUpload()
Suppose you have the following HTML form:
<form method="POST" enctype="multipart/form-data">
<label for="username">Имя пользователя:</label>
<input type="text" name="username" id="username" />
<label for="pic">Пожалуйста, загрузите изображение профиля:</label>
<input type="file" name="pic" id="pic" />
<input type="submit" />
</form>
Если вы хотите сохранить загруженное изображение в MongoDB, вы можете сделать следующее в скрипте, обрабатывающем отправку формы:
<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();
$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>
Смотрите также
- MongoGridFS::put() - Сохраняет файл в базе данных
- MongoGridFS::storeBytes() - Сохраняет строку байтов в базе данных
- MongoGridFS::storeFile() - Сохраняет файл в базе данных
- Основная документация MongoDB по » GridFS