2011-05-25 137 views
0

我想獲取上傳的圖像插入到MySQL數據庫,但我得到這個錯誤消息。請幫助。以下是錯誤我得到如何將圖像插入到mysql數據庫?

Array 
(
    [name] => Zonsondergang.jpg 
    [type] => image/jpeg 
    [tmp_name] => /tmp/phpU9qSru 
    [error] => 0 
    [size] => 71189 
) 

數據/ Zonsondergang.jpg測試文件加載成功

警告:的file_get_contents(/ tmp目錄/ phpU9qSru)function.file-GET-內容]:未能打開流:沒有這樣的文件或目錄在/home/meer/domains/skyup.nl/public_html/upload_Class/upload.php在線68 錯誤!無法插入文件1

這是我上傳的圖像和圖像插入到數據庫

include('../inc/con_inc.php'); 

// Defining Class 
$uploaded = new upload; 

// Set Max Size 
$uploaded->set_max_size(350000); 

// Set Directory 
$uploaded->set_directory("data"); 

// Set Temp Name 
$uploaded->set_tmp_name($_FILES['file']['tmp_name']); 

// Set file size, 
$_FILES['file']['size'] is automaticly get the size 
$uploaded->set_file_size($_FILES['file']['size']); 


// Set File Type, 
$_FILES['file']['type'] 
$uploaded->set_file_type($_FILES['file']['type']); 

// Set File Name, 
$uploaded->set_file_name($_FILES['file']['name']); 


// Start Copy Process 
$uploaded->start_copy(); 


$name=($_FILES['file']['name']); 
$data=(file_get_contents($_FILES['file']['tmp_name'])); 


$query="INSERT INTO download(name,data) VALUES('$name','$data')"; 
if ($result){ 
echo 'Success! Your file was successfully added!'; 
}else{ 
echo 'Error! Failed to insert the file' ; 
$result=mysql_query($query) or die ('query fout'); 

} 

這裏代碼表的結構的研究:

create table download (
    id int primary key not null 
auto_increment, 
    name varchar(60), 
    data longblob) 
+0

檢查的文件夾正確的文件夾權限另外我會說它不建議將圖像存儲在數據庫中,如果您有更多的圖像查詢,它可能會減慢MySQL服務器的速度。相反,我會建議將圖像存儲爲平面文件,並將路徑和其他詳細信息存儲在表格中。 – Vijay 2011-05-25 12:04:33

+1

將大量數據(如圖像)插入數據庫通常被認爲是一個壞主意。爲什麼不把上傳的圖像移動到服務器上的特定目錄中,並將圖像的路徑存儲在數據庫中.. – Munim 2011-05-25 12:05:42

+0

謝謝,這是合乎邏輯的,我將只存儲路徑 – mary 2011-05-25 19:08:04

回答

0
$data=(file_get_contents($_FILES['file']['tmp_name'])); 

可以因爲您剛上傳了upload類的文件,所以不這麼做。
你應該有你的實際上傳文件的方法或巫婆一個變量,是這樣的:$uploaded->get_file()
你應該從那裏文件內容(在「數據」文件夾上傳文件)