Codeigniter 2文件上载不工作/可能的文件夹权限问题

时间:2016-01-21 17:40:29

标签: php codeigniter file-upload upload codeigniter-2

我正在尝试在CodeIgniter 2上传文件,但它失败了。我尝试了几种不同的方法,实际上CI正在获取文件并尝试将其放在目标文件夹中,但我认为文件夹权限存在问题。因为我可以回复文件名等。

这是我的模型文件的相关部分:

$config =   array
    (
    'upload_path'       =>  'uploads/campaigns/data',
    'allowed_types'     =>  'csv',
    );
    $this->upload->initialize($config);
    $this->upload->do_upload('file');

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

    if(!empty($file_name)) {

        echo $file_name;
    }
    else {
        echo $this->upload->display_errors();
    }

使用此代码,我可以看到文件名,但文件没有上传。我在此服务器上只有root帐户,root用户创建并拥有所有文件。文件夹有777权限。我现在该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用此功能跟踪错误

if ( ! $this->upload->do_upload())
{
    echo $this->upload->display_errors();
}
else
{
    echo "success";
}

我希望你也加载了这个库

编辑01

$config['upload_path'] = './uploads/campaigns/data';
$config['allowed_types'] = 'csv';
$config['max_size'] = '5120'; # 5MB allowd

$this->load->library('upload', $config);

if ( ! $this->upload->do_upload())
{
    echo $this->upload->display_errors();
}
else
{
    echo $this->upload->data();
}

并在application/config/mimes.php

检查是否有csv格式。如果存在则将此数组添加为新项目

'csv'   =>  array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),

答案 1 :(得分:0)

我认为Codeigniter的上传库存在问题。有关详细信息,请参阅link,我希望这对您有所帮助。