2014-02-12 134 views
0

我試着用codeigniter框架使用php在mysql數據庫中上傳文件。 遵循我的代碼。它只是在數據庫中保存文件的名字,但實際文件不存儲在給定的路徑。使用codeigniter的文件上傳錯誤

我的代碼 -

move_uploaded_file($_FILES["userfile"]["tmp_name"] , "uploads/diagnosis_report/".$_FILES["userfile"]["name"]);   

$data['file_name'] = $_POST["userfile"]["name"]; 

回答

0

我相信:

$data['file_name'] = $_POST["userfile"]["name"]; 

應該是:

$data['file_name'] = $_FILES["userfile"]["name"]; 
// ---------------------^ 
+0

不工作......!在db中的file_name顯示值爲NULL – user3116267

0

$ upload_path $_POST["userfile"]["name"]只是文件名。如果你想將它與保存路徑,你需要做這樣的事情:

// For relative path 
$data['file_name'] = "uploads/diagnosis_report/".$_FILES["userfile"]["name"]; 

// For absolute path 
$data['file_name'] = dirname(__FILE__)."/uploads/diagnosis_report/".$_FILES["userfile"]["name"]; 

老實說,我還能做什麼首先設置一個上傳路徑變量,像這樣:

$upload_path = dirname(__FILE__)."/uploads/diagnosis_report/"; 

然後你可以使用它一遍又一遍,像這樣:

move_uploaded_file($_FILES["userfile"]["tmp_name"] , $upload_path.$_FILES["userfile"]["name"]);   

$data['file_name'] = $upload_path.$_FILES["userfile"]["name"]; 

希望這會有所幫助。