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