我正在尝试在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权限。我现在该怎么办?
谢谢!
答案 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,我希望这对您有所帮助。