Php-MongoGridFS weeor в функции storeFile()

я пытаюсь использовать MongoGridFS для работы с файлами изображений. ниже мой код, который я пытаюсь..

$m = new MongoClient();
   // select a database
   $dbInput = "json";
   $db = $m->$dbInput;
    var_dump($mongo_fs= $db->getGridFS());//new MongoGridFS($db,"files_coll");
    //$file_id=$mongo_fs->put("Jellyfish.jpg");
    $id=1234;
    $mongo_fs->storeFile("act.php", array("_id" => $id));
    //var_dump($file = $mongo_fs->get($file_id));
    echo $gridFS->findOne(array("_id" => $id))->getBytes();

оба файла «act.php» и «Jellyfish.jpg» доступны в том же каталоге, что и исходный файл. Я получаю сообщение об ошибке

Неустранимая ошибка: необработанное исключение «MongoGridFSException» с сообщением «не удалось открыть файл act.php» в C:\xampp\htdocs\mongoDB\mongo_files.php:10 Трассировка стека: #0 C:\xampp\htdocs\mongoDB\mongo_files. php(10): MongoGridFS->storeFile('act.php', Array) #1 {main} Следующее исключение 'MongoGridFSException' с сообщением 'ошибка настройки файла: act.php' в C:\xampp\htdocs\mongoDB\ mongo_files.php:10 Трассировка стека: #0 C:\xampp\htdocs\mongoDB\mongo_files.php(0): MongoGridFS->storeFile() 1 {main} добавлено в C:\xampp\htdocs\mongoDB\mongo_files.php в строке 10

я много искал в Интернете. этот вопрос может быть таким же, как Ошибка в больших файлах с GridFS и MongoDB но я не пытаюсь загрузить какой-либо большой файл и не использую «html-форму» для загрузки чего-либо. Любой ответ приветствуется.

Спасибо


person Swaps    schedule 28.07.2015    source источник
comment
Размер ваших файлов изображений превышает 16 МБ? если нет, то избавьте себя от некоторых проблем и не используйте GridFS. Ссылка есть, так что вы на самом деле читаете, что такое GridFS на самом деле. Если ваши файлы меньше 16 МБ (ограничение размера документа BSON), просто сохраните двоичные данные непосредственно в поле документа. MongoDB с удовольствием это делает, и на самом деле это все функции библиотеки GridFS, которые на самом деле делают, но просто разбивают большой контент на куски, достаточно маленькие, чтобы поместиться.   -  person Blakes Seven    schedule 28.07.2015
comment
@BlakesSeven в настоящее время я просто пытаюсь работать с файлами меньшего размера, но в будущем у меня есть хорошие шансы справиться с большими файлами. а также GridFS предоставляет прямые функции для доступа и хранения файлов в MongoDB, поэтому я думал использовать его. Любые дальнейшие предложения приветствуются. :)   -  person Swaps    schedule 29.07.2015
comment
Мое предложение было там. Единственные большие файлы, с которыми я обычно имею дело на обычном веб-сайте, имеют размер менее 64 МБ (что действительно много для изображения), поэтому гораздо эффективнее хранить их непосредственно в одном документе. GridFS очень часто используется, и это моя точка зрения. Используйте его только для тех приложений, где он вам действительно нужен. Для файлов меньшего размера требуются значительные накладные расходы.   -  person Blakes Seven    schedule 29.07.2015
comment
ваше предложение звучит хорошо, но будет признательно, если вы поделитесь примером, чтобы сделать то же самое без использования GridFS, поскольку в результате я получаю только GridFS для хранения файлов в MongoDB, если я погуглю для того же.   -  person Swaps    schedule 29.07.2015