如何在codeigniter中创建自定义mime类型

时间:2016-12-05 08:50:57

标签: php codeigniter mime-types

我正在使用CodeIgniter创建上传表单,并且我上传的文件扩展名为.apk。 在我的控制器中我已经使用*哪个有效,但我想允许唯一的apk文件。

$config['allowed_types']        = '*';

任何人都可以帮我创建带有示例代码的自定义mime类型。

3 个答案:

答案 0 :(得分:0)

docs中,allowed_types指的是

  

与您允许的文件类型相对应的mime类型   上传。通常,文件扩展名可以用作mime类型。能够   是数组或管道分隔的字符串。

所以你可以使用:

$config['allowed_types'] = 'apk';

如果您想更具体并检查实际的MIME类型,对于apk,这是

application/vnd.android.package-archive

答案 1 :(得分:0)

我希望回答这个问题还为时不晚!!

我正在实施类似的事情并遇到了同样的问题!经过对stackoverflow的一些研究,我得到了一个久经考验的答案。

正如@ phobia82所说,这是一个mime类型的问题。 检查了一些浏览器和CodeIgniter 3.x后,添加自定义mime类型会有所帮助! 此外,值得注意的是,apk文件被识别为2个mime类型(来自我测试过的)

| application/vnd.android.package-archive |
|-----------------------------------------|
| application/java-archive                |

所以,转到config/mimes.php并将其添加到数组

'apk'   =>  array('application/vnd.android.package-archive','application/java-archive')

这就是我上传失败的原因。 Codeigniter将APK存档检测为java存档,Apache服务器将其检测为vnd.android.package-archive。完成此操作后,您可以使用

$config['allowed_types'] = 'apk';

希望这会有所帮助!!

答案 2 :(得分:-1)

$config['allowed_types'] = 'apk';

你可以使用它。

它会正常工作。

谢谢。