2017-01-01 80 views
0

我在php中獲得了與mongodb的連接。我可以從MongoDB獲取文件名,併成功顯示在網頁中。但是,我無法獲得文件追索權。如果我錯了,請提醒我。非常感謝你。 我想從mongodb中獲取原始文件。我有MongoDB的PHP驅動程序。有人可以指導我? plz ..如何通過php播放mongodb中的ogg文件

<?php 
try{ 
    $connection = new Menter code hereongoClient(); 
    $db = $connection->FypDatabase; 
    $grid = $db->getGridFS(); 
    $data = $grid->find(); 
    foreach($data as $obj){ 
     echo $obj->getFilename().'<br/>'; 
     echo $obj->getSize(); 
     echo $obj->getResource(); //it output the Resource id #2 
     echo '<video id="video" autoplay="autoplay" width="640" height="480" preload="metadata" >'; 
     echo '<source src="'.$data->getResource().'"/>'; 
     echo '<code>your bowser don\'t support</code>'; 
     echo '</video>'; 
    } 
    exit; 
    $connection->close(); 
    } catch (MongoConnectionException $e) { 
     die('Error connecting to MongoDB server'); 
    } catch (MongoException $e) { 
     die('Error: ' . $e->getMessage()); 
    } 
?> 

我想播放視頻標籤中的視頻。並從mongodb獲取視頻資源。在我的MongoDB中,我有fs.chunks和fs.files集合。我做一下GridFS的驅動程序,PHP一些研究,它說,

MongoGridFSFile::getResource — Returns a resource that can be used to read the stored file

getResource() method

回答

0

也許一個錯字:$ obj->的getResource()而不是$數據 - > getResource()方法

<?php 
try{ 
$connection=new MongoClient(); 
$db=$connection->FypDatabase; 
$grid=$db->getGridFS(); 
$data=$grid->find(); 
    foreach($data as $obj){ 
    echo $obj->getFilename().'<br/>'; 
    echo $obj->getSize(); 
    echo $obj->getResource(); //it output the Resource id #2 
    echo '<video id="video" autoplay="autoplay" width="640" height="480" preload="metadata" >'; 
    echo '<source src="'.$obj->current().'"/>'; 
    echo '<code>your bowser don\'t support</code>'; 
    echo '</video>'; 
    } 
     exit; 
     $connection->close(); 
} catch (MongoConnectionException $e) { 
    die('Error connecting to MongoDB server'); 
} catch (MongoException $e) { 
    die('Error: ' . $e->getMessage()); 
} 
?> 
+0

我將它更改爲$ data-> getResource(),但它流了[致命錯誤:調用未定義的方法MongoGridFSCursor :: getResource()在C:\ wamp64 \ www \ testStream \ testStream.php在線]異常。 – rcm

+0

嘗試$ obj-> current() –

+0

對不起,麻煩。我輸入$ data-> current-> getResource()。它返回注意:未定義的屬性:MongoGridFSCursor :: $ current在C:\ wamp64 \ www \ testStream \ testStream.php上。那是否意味着$數據不是遊標? – rcm