Codeigniter文件路径未正确存储在数据库中

时间:2016-09-07 11:36:35

标签: php database codeigniter stored-procedures file-upload

我正在尝试上传的文件的文件路径未正确存储。

我现在唯一的问题是,而不是存储这条路径:

  

C:/xampp/htdocs/dev/csbrms/upload/file.xlsx

它只存储:

  

C:/ XAMPP / htdocs中的/ dev / csbrms / UPL

这是我的代码

view.php

<input type = "file" name = "userfile" id="userfile"/> 

controller.php

$upload_data = $this->upload->data(); 
$file_name =   $upload_data['file_name'];


$data = array(...
'file_path'       => $file_name,
);

model.php

function add_records($data){

    try {

    $sql = "CALL `sp_add_user_request`(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            $result = $this->csbrms->query($sql,$data); // $data included 3 param and binding & query to db
            $this->csbrms->close();


        } catch (Exception $e) {
            echo $e->getMessage();
        }
        return $result;
        }

2 个答案:

答案 0 :(得分:1)

您正在使用file_path存储文件信息,而您可能希望使用包含路径和文件名的full_path。

$file =   $upload_data['full_path'];

您可以在此处查看文档中助手函数的所有返回字段: http://www.codeigniter.com/user_guide/libraries/file_uploading.html#CI_Upload::data

但是这里是带有你可以使用的字段的示例返回数组:

Array
(
    [file_name]     => mypic.jpg
    [file_type]     => image/jpeg
    [file_path]     => /path/to/your/upload/
    [full_path]     => /path/to/your/upload/jpg.jpg
    [raw_name]      => mypic
    [orig_name]     => mypic.jpg
    [client_name]   => mypic.jpg
    [file_ext]      => .jpg
    [file_size]     => 22.2
    [is_image]      => 1
    [image_width]   => 800
    [image_height]  => 600
    [image_type]    => jpeg
    [image_size_str] => width="800" height="200"
)

希望有所帮助,

保罗。

答案 1 :(得分:0)

检查数据库中的字段大小。由于表中存储路径的列/字段的大小,路径将被截断。