Wenn Sie mongo-php-library 2.2
Treiber, getGridFS() Methode nicht mehr vorhanden ist, jedoch können Sie Bucket
Klasse für den Upload und Download von Dokumenten verwenden Raster MongoDB. Sie können versuchen, die folgenden:
//upload file
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket();
$resource = fopen($file_path, "a+");
$file_id = $bucket->uploadFromStream($file_path, $resource);
//download file
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket();
$file_metadata = $bucket->findOne(["_id" => $file_id]);
$path = $file_metadata->filename;
if(!file_exists($path)) {
$downloadStream = $bucket->openDownloadStream($file_id);
$stream = stream_get_contents($downloadStream, -1);
$ifp = fopen($path, "a+");
fwrite($ifp, $stream);
fclose($ifp);
}
Beachten Sie, dass $file_id
Variable ein ObjectId ist, wenn Sie einen String-Wert haben, müssen Sie ObjectId konvertieren: $file_id = new \MongoDB\BSON\ObjectID($str_file_id);