2014-04-07 92 views
0

在這個例子中,「path」是服務器中(上傳的)臨時文件的路徑?或客戶端設備中的文件路徑?我正在從$ _FILES讀取文件元數據,但不知道在哪裏讀取要存儲在數據庫中的文件。請幫忙。 (對不起,我的英語)如何上傳文件並將其存儲在mongodb中?

<?php 
    // connect to the ‘myGrid’ GridFS 
    $m = new Mongo(); 
    $db = $m->myDB; 
    $myGrid = $db->getGridFS('myGrid'); 
    $some_file='path of your video or audio file'; 
    // some extra data you may want to store with your file 
    $data_array = array(
     'mime' => mime_content_type($some_file), 
     'timestamp' => time(), 
    ); 

    // store a file into the GridFS 
    $myGrid->storeFile($some_file, $data_array); 
?> 
+0

'$ _FILES [「富」] [」 tmp_name']'是PHP臨時將文件存儲在服務器上的位置。但要注意的是:將文件存儲在數據庫中通常是一個糟糕的主意,並且很少有用例證明它是正確的。 –

+0

爲文件(文件<30mb)共享服務這是一個壞主意? –

+0

無論大/小。如果你想保護對文件的直接訪問,那就不要把它們放在你方的文檔根目錄下。把它們放入數據庫是一個巨大的浪費 - 考慮100人都下載相同的文件 - 你必須從數據庫中吸100次同類文件。 –

回答

0

它是路徑的任何文件的投入,在這種情況下,這將是從PHP $_FILES陣列的tmp_name路徑

+0

它適用於小文件,但當試圖上傳更大,例如(10MB)文件,發生錯誤 –

+0

@MherDidaryan你需要設置PHP來允許更大的文件:http://www.sitepoint.com/upload-large-files-in-php/第一個結果在谷歌 – Sammaye

+0

非常感謝你。我是新來的PHP,我不知道有一個限制 –

相關問題