3

我正在研究一个问题很长时间,但仍然找不到任何解决方案。

我正在使用 codeigniter 上传 mp4 文件。在此之前,我在 config/mimes.php 中为 mp4 添加了 mime 类型。我都试过了:mp4 => video/mp4mp4 => array('video/mp4', 'video/3gpp')

这两个都在本地服务器上完美运行,但是每当我在 Live 服务器上测试它时,它总是给出相同的错误消息“不允许您尝试上传的文件类型。”。

我又尝试了一件事。IE $config['allowed_types'] = "*";

它在本地和在线服务器上都能完美运行。

但我只想要 mp4 视频类型。

有人对这个奇怪的问题有一些解决方案吗?

4

3 回答 3

7

最后我得到了我的问题的解决方案,所以我正在写这个答案。

大多数情况下,本地和在线服务器中的 mime 类型检测是不同的。

就我而言,本地服务器将 file_type 获取为“video/mp4”。但是在线服务器将 mime 类型检测为“application/octet-stream”。

所以我在我的配置文件夹的 mime 类型列表中添加了两个数组:

'mp4' => array('video/mp4', 'application/octet-stream'),

现在它可以在本地和在线服务器上完美运行。

于 2013-11-02T02:26:38.390 回答
0

如果一切都不起作用,请像这样重新排列允许的类型顺序,首先放置视频格式:

$config['allowed_types'] = 'mp4|jpg|png|'

它适用于我的情况。

于 2018-02-11T06:06:24.223 回答
0

当我们上传扩展名为 mp4 的视频时,我依赖于视频 mime 文件类型,但在 CodeIgniter 上传库中使用 php 函数finfo_file来检测 file_type 通过这个函数我们得到其他 file_type。前任。我得到视频/3gpp

所以我改变了 config/mimes.php

'mp4' => array('video/mp4', 'video/3gpp'),

它为我工作。

谢谢

于 2017-02-14T09:27:04.577 回答