我收到错误消息:尝试更新任何文件时,不允许您尝试上传的文件类型。
if(!empty($_FILES['proof_of_purchase']['name'])) {
$config['upload_path'] = './uploads/invoices/';
$config['allowed_types'] = 'gif|jpg|jpeg|png|pdf|bmp';
$config['max_size'] = '3000';
$this->load->library('upload', $config);
// if there was an error, return and display it
if (!$this->upload->do_upload('proof_of_purchase'))
{
$data['error'] = $this->upload->display_errors();
$data['include'] = 'pages/classic-register';
} else {
$data['upload_data'] = $this->upload->data();
$filename = $data['upload_data']['file_name'];
}
}
我尝试了许多不同的文件-大多数是gif&jpeg,每次都遇到相同的错误。
var_dump($ _ FILES); 给我:
array(1) { ["proof_of_purchase"]=> array(5) { ["name"]=> string(28) "2010-12-04_00019.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(19) "D:\temp\php2BAE.tmp" ["error"]=> int(0) ["size"]=> int(58054) } }
我检查了mime配置,它包含正确的内容。例:
'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'),
我花了太长时间了,这真让我发疯!任何想法都将非常有帮助。
如果您使用的是Codeigniter
2.1.0版,则上载库中存在错误。有关更多详细信息,请参见http://codeigniter.com/forums/viewthread/204725/。
基本上,我所做的是修改文件上传类中的几行代码(位置:./ system / libraries / Upload.php)
1)修改行号1044
从:
$this->file_type = @mime_content_type($file['tmp_name']);
return;
对此:
$this->file_type = @mime_content_type($file['tmp_name']);
if (strlen($this->file_type) > 0) return;
2)修改行号1058
从:
@exec('file --brief --mime-type ' . escapeshellarg($file['tmp_path']), $output, $return_code);
对此:
@exec('file --brief --mime-type ' . escapeshellarg($file['tmp_name']), $output, $return_code);
您可能会看到,第1058行尝试使用不存在的数组值。
问题内容: 我遇到一个非常奇怪的上传问题。这是相关的视图文件: 这是我的控制器的方法: 当我上传AVI视频时,一切正常。当我上传WMV视频时,会收到以下var转储: “ wmv”扩展名被解释为MIME类型:。这应该没问题,因为我的config / mimes.php具有以下内容: 当我尝试上传其他文件时,情况与此类似。到目前为止,似乎唯一起作用的是我的测试AVI视频。 任何想法可能有什么问题吗?
问题内容: 控制器: 视图: Javascript: 但是,我得到一个错误 我试图从ajax发布数据和文件,但是它不起作用。我的问题是如何解决该错误?为什么控制器无法读取用户文件的内容? 谢谢 问题答案: 尝试将您的输入内容放入表单并提供id =’your_form_id表单,然后以这种方式在javascript中发送数据: 然后替换这行 有了这个 也设置以下:
问题内容: 我想使用单个元素上传多个文件。所以我尝试这个例子。 使用CodeIgniter2.0上传多个文件(数组) 这是我的表格 这是我的控制器 这是我的文件上传方法 但它给每一次。有什么问题 问题答案: 我根据@Denmark 更改上传方法。
问题内容: 我正在创建一个页面,供用户上传文件。如果文件类型是其他jpg,gif和pdf,我希望使用if语句创建$ error变量。 这是我的代码: 我在构造if语句时遇到困难。我怎么说呢 问题答案: 将允许的类型放入数组并使用。
我上传文件有问题。我正在使用codeigniter框架和dropzone。js上传文件。 我认为: 控制器: 问题是上传的文件返回为空: 数组(1){["upload_data"]= 我试图转储fileToUpload输入的POST值,也是空的。是不是我忽略了什么?
CodeIgniter 的文件上传类允许文件被上传。您可以设置指定上传某类型的文件及指定大小的文件。 处理过程 上传文件普遍的过程: 一个上传文件用的表单,允许用户选择一个文件并上传它。 当这个表单被提交,该文件被上传到指定的目录。 同时,该文件将被验证是否符合您设定的要求。 一旦文件上传成功,还要返回一个上传成功的确认窗口。 这里有一个简短的教程来显示这个过程。此后你将会找到相关的参考信息。 创