我正在使用CodeIgniter创建上传表单,并且我上传的文件扩展名为.apk。 在我的控制器中我已经使用*哪个有效,但我想允许唯一的apk文件。
$config['allowed_types'] = '*';
任何人都可以帮我创建带有示例代码的自定义mime类型。
答案 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';
你可以使用它。
它会正常工作。
谢谢。