【问题标题】:file upload error using codeigniter使用codeigniter的文件上传错误
【发布时间】:2014-02-12 13:48:42
【问题描述】:

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

我的代码是 -

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

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

【问题讨论】:

    标签: php mysql file upload


    【解决方案1】:

    我相信:

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

    应该是:

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

    【讨论】:

    • 不工作...! db 中的 file_name 显示值为 NULL
    【解决方案2】:

    $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"];
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2020-01-04
      相关资源
      最近更新 更多