我为允许的类型创建的设置:
$config['allowed_types'] = 'doc|docx|pdf|xls|xlsx|rtf|txt|rar|zip';
在我的矿中。php
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed','application/force-download'),
'rar' => array('application/x-rar', 'application/rar','application/x-rar-compressed','application/force-download'),
这是我配置的全部内容,但当我上传zip或rar时,它会向我显示一个错误,即"不允许您尝试上传的文件类型。"
请帮帮任何一个人。。提前谢谢。。
我已经将zip和rar的mime.php
配置替换为:
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed','application/force-download','application/octet-stream'),
'rar' => array('application/x-rar', 'application/rar','application/x-rar-compressed','application/force-download','application/octet-stream'),
我刚刚在末尾添加了application/octet-stream
。。对于这两种类型,现在我可以上传zip和rar…:)现在我很高兴
以下是检查MIME类型的最佳方法。
在codeigniter框架中打开system/librarys/upload.php。查看下面的评论。您将获得确切的MIME类型,并在mimes.php文件中包含相同的MIME类型。
// Set the uploaded data as class variables
$this->file_temp = $_FILES[$field]['tmp_name'];
$this->file_size = $_FILES[$field]['size'];
$this->_file_mime_type($_FILES[$field]);
$this->file_type = preg_replace("/^(.+?);.*$/", "''1", $this->file_type);
$this->file_type = strtolower(trim(stripslashes($this->file_type), '"'));
$this->file_name = $this->_prep_filename($_FILES[$field]['name']);
$this->file_ext = $this->get_extension($this->file_name);
$this->client_name = $this->file_name;
//var_dump($this->file_type); Added by pratikn to check mime type
//exit();
// Is the file type allowed to be uploaded?
if (!$this->is_allowed_filetype()) {
$this->set_error('upload_invalid_filetype');
return FALSE;
}