GridFS를 사용하고 있는데, 현재는 findOne을 사용하여 단일 이미지를 표시 할 수 있습니다. 그리드의 모든 결과를 반복하여 모두 화면에 표시하고 싶습니다. 여기 내가 사용하고 코드 :결과 반복 MongoDB & GridFS (PHP)
<?php
try {
// open connection to MongoDB server
$conn = new Mongo;
// access database
$db = $conn->database;
// get GridFS files collection
$grid = $db->getGridFS();
// retrieve file from collection
header('Content-type: image/png');
$file = $grid->findOne(array('_id' => new MongoId('4fb437dbee3c471b1f000001')));
// send headers and file data
echo $file->getBytes();
exit;
// disconnect from server
$conn->close();
} catch (MongoConnectionException $e) {
die('Error connecting to MongoDB server');
} catch (MongoException $e) {
die('Error: ' . $e->getMessage());
}
?>
감사
나는이 $ files = $ grid-> find()를 시도했다. foreach ($ 파일로 $ 파일) {echo $ file-> getBytes(); } 작동하지 않더라도 –
모든 파일을 원하면 find ({}) (빈 매개 변수로 중괄호를 주목하십시오)를 찾아보십시오. 그리고 $ file-> getBytes();를 표시하는 대신; 루프에서 "print_r ($ file);" 단지 당신이 아무것도 얻는지를보기 위해 디버그하는 것. – jbnunn