使用codeigniter文件上传错误

时间:2014-02-12 13:48:42

标签: php mysql file upload

我正在尝试使用带有codeigniter框架的php在mysql数据库中上传文件。 按照我的代码。它只保存数据库中文件的第一个名称,但实际文件不存储在给定路径中。

我的代码是 -

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

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

2 个答案:

答案 0 :(得分:0)

我相信:

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

应该是:

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

答案 1 :(得分: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"];

希望这有帮助。