PHP MongoDB извлечь тип файла

Я работал над GridFS с MongoDB + PHP и способен выполнять CRUD операции. Мне нужно получить загружаемые типы расширений файлов. Например, см. Ниже type который сохраняется в Mongo для разных типов файлов:

image = image/jpeg or image/png
text  = text/plain
docx  = application/octet-stream
xlsx  = application/octet-stream
pdf   = application/pdf

Как я могу получить или преобразовать вышеупомянутые типы файлов, как показано ниже

image = jpeg or png
text  = txt
docx  = doc
xlsx  = xlsx
pdf   = pdf

Есть ли какая-либо функция для достижения того же?

Также, когда любой PDF или же image большего размера загружается, он вставляет более одной записи в БД в следующем виде

{
"_id" : ObjectId("542118ab920662000a000055"),
"filename" : "blob",
"type" : "application/octet-stream",
"title" : "blob",
"isFolder" : 0,
"uploadDate" : ISODate("2014-09-23T06:52:27.000Z"),
"length" : 338277,
"chunkSize" : 261120,
"md5" : "d4f9269491c30a0ab086b3bab02c81ee"}

Пожалуйста помоги.

Благодарю.

0

Решение

Вы можете просто добавить необходимые данные для сохранения в записи GridFS метаданные и запросить его, как вы сделали бы с любой другой коллекцией, например.

db.collection.files.find({"metadata.mimetype":/^image/i})

Однако я не понимаю, почему нужно сохранять несколько записей. GridFS по умолчанию имеет две коллекции: одна называется файлами, а другая — чанками. Последний будет хранить файл, независимо от его размера, разбитый на — как вы уже догадались — куски по 255 КБ. Все это делается автоматически при использовании GridFS.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]