gpt4 book ai didi

php - 在 Codeigniter 中上传 - 不允许您尝试上传的文件类型

转载 作者:IT王子 更新时间:2023-10-29 00:16:14 25 4
gpt4 key购买 nike

我收到错误消息:当我尝试上传任何文件时,不允许您尝试上传的文件类型。

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 行尝试使用不存在的数组值。

关于php - 在 Codeigniter 中上传 - 不允许您尝试上传的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com