【发布时间】:2014-03-16 19:43:55
【问题描述】:
我有一个部署到 pagodabox 的 codeigniter 项目,问题是它有一个文件上传表单,该表单应该上传 csv 文件,但不知何故我收到一个错误,提示该文件类型是不允许的。然而,它在我的本地 wamp 服务器上工作。
任何帮助将不胜感激。这是我的代码
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
类 Uploadfile 扩展 CI_Controller {
public function __construct()
{
parent::__construct();
//Do your magic here
$this->load->library('csvreader');
}
function upload() {
$session_data = $this->session->userdata('logged_in');
$current_user_name = $session_data['username'];
$config = array('upload_path' => 'application/uploads',
'max_size' => '0',
'allowed_types' => 'csv',
'file_name' => $current_user_name,
'overwrite' => true
);
$this->load->library('upload', $config);
$upload_field_name = 'csvfile';
if ( ! $this->upload->do_upload($upload_field_name)){
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_error', $error);
var_dump('$upload_field_name');
}
else {
$csvfile = array('csvfile' => $this->upload->data($upload_field_name));
$csvdata = $this->csvreader->parse_file($csvfile['csvfile']['full_path']);
$data['jsondata'] = json_encode($csvdata);
$this->load->view('dashboard', $data);
}
}
} ?>
【问题讨论】:
-
您是否尝试过通过 multipart/form-data 上传文件?我使用了您的代码并对其进行了一些更改,但首先告诉我您是否尝试使用 enctype = multipart/form-data 发布?
-
是的,我在视图上使用 multipart/form-data
-
问题是它在我的本地主机上运行良好,但在我部署它的宝塔上却不行。
-
$this->upload->initialize($config);上传前你设置初始化了吗?
-
初始化文件后同样的问题,你没明白我的意思。问题是宝塔箱特定的。它在我的本地主机上运行良好
标签: php codeigniter file-upload pagoda-box