2009-11-25 58 views
0

我想從php函數中將文件插入到mysql中。 需要上傳的文件已經存在於服務器上,所以我不想使用上傳表單。

我想遍歷目錄並將文件信息導入$_FILES

請讓我知道如何將$file轉換爲$_FILES然後調用上傳。

$dir_handle = @opendir($path) or die("Unable to open folder"); 

while (false !== ($file = readdir($dir_handle))) { 
    echo "$file"; 
} 

回答

0

$ _FILES僅僅是用於處理客戶端上傳到腳本文件。您應該可以使用file_get_contents()fopen()/fread()插入文件內容。

+0

嗨佩卡, 我必須實際加載該文件爲blob MySQL的。有一個功能已經在做。我只需要調用它。 $ fileName = $ _POST [「name」]; $ filePath = $ _FILES ['Filedata'] ['tmp_name']; echo File :: upload($ fileName,$ filePath); 我想在循環中使用$ filePath .. – JadaBharata 2009-11-25 12:56:51

+0

$文件應該與您的評論中的$ filePath相同。 – 2009-11-25 13:04:55

0

如果文件已經在服務器上,那麼他們不需要「上傳」。他們只需要被移動。

你可以嘗試像...

$dir_handle = @opendir($path) or die("Unable to open folder"); 

while (false !== ($file = readdir($dir_handle))) { 
    // example query may be... 
    $sql = sprintf("INSERT INTO table SET filename = %s", mysql_escape_string($path . "/" . $file)); 
    mysql_query($sql); 
} 
+0

嗨克里斯, 我想上傳文件到mysql數據庫(斑點)。功能已經存在。現在我想用文件數據填充$ filePath,並調用上傳功能.. $ fileName = filter_var($ _ POST [「name」],FILTER_SANITIZE_STRING); $ filePath = filter_var($ _ FILES ['Filedata'] ['tmp_name'],FILTER_SANITIZE_STRING); echo File :: upload($ pid,$ fileName,$ filePath); – JadaBharata 2009-11-25 12:44:25

+0

如果你想獲得文件的內容,那麼你可以做什麼佩卡提到,只是使用file_get_contents或fopen/fread組合,然後將其添加到您的插入 – 2009-11-25 13:09:31