我在codeigniter框架中工作。我想上传doc或docx文件。所以我写了这样的代码:
$config['upload_path'] = './uploads/resume/';
$config['allowed_types'] = 'docx|doc|DOC|DOCX';
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('resume'))
{
print_r($error = array('error' => $this->upload->display_errors()));
}
else
{
$upload = $this->upload->data();
print_r($upload);exit;
}
此处显示错误,如您尝试上传的文件类型不允许。并且文件未上传。
我还修改了 mimes.php 文件并添加了
'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
当我打印 $ this-> upload-> data()时,它会将file_type显示为 application / vnd.oasis.opendocument.text
但是,它不起作用。那我怎样才能上传doc或docx文件?
答案 0 :(得分:1)
这里我在mimes.php中创建了doc数组,如下所示:
'doc' => array('application/msword', 'application/vnd.ms-office','application/vnd.oasis.opendocument.text')
及其工作。
答案 1 :(得分:0)
我没有看到" application / vnd.oasis.opendocument.text"在你允许的mime类型数组中。
答案 2 :(得分:0)
不要忘记
max_size
并允许输入txt
$config['allowed_types'] = 'txt|doc|docx';
$config['max_size'] = 10000;
$this->load->library('upload', $config);
如果仍然无法加载OpenOffice扩展程序
$config['allowed_types'] = 'application/vnd.oasis.opendocument.spreadsheet | application/vnd.oasis.opendocument.text | application/vnd.oasis.opendocument.presentation |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | application/vnd.ms-excel | application/vnd.openxmlformats-officedocument.presentationml.presentation | txt';
答案 3 :(得分:0)
将以下内容添加到mimes.php文件
'binary/octet-stream'
您要支持的每种office文档类型。不是一个理想的解决方案,但对我有用。