我正在尝试使用带有codeigniter框架的php在mysql数据库中上传文件。 按照我的代码。它只保存数据库中文件的第一个名称,但实际文件不存储在给定路径中。
我的代码是 -
move_uploaded_file($_FILES["userfile"]["tmp_name"] , "uploads/diagnosis_report/".$_FILES["userfile"]["name"]);
$data['file_name'] = $_POST["userfile"]["name"];
答案 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"];
希望这有帮助。