Codeigniter:MP4视频上传不工作

flvtvl50  于 2023-09-28  发布在  其他
关注(0)|答案(4)|浏览(151)

我在研究一个问题很长时间,但仍然没有找到任何解决方案。
我正在使用codeigniter上传mp4文件。在此之前,我在config/mimes.php中添加了mp4的mime类型。我两个都试过了:mp4 => video/mp4mp4 => array('video/mp4', 'video/3gpp')
这两个工作完美的本地服务器,但每当我测试这个在现场服务器上,然后它总是给予出相同的错误消息“文件类型,你试图上传是不允许的。”
我又试了一件事。即**$config['allowed_types'] = "*";**
它在本地和在线服务器上都能完美工作。
但我只想mp4视频类型。
有没有人能解决这个奇怪的问题?

ru9i0ody

ru9i0ody1#

最后我得到了我的问题的解决方案,所以我写这个答案。
在本地和在线服务器上对MIME类型的检测通常是不同的。
在我的例子中,* 本地服务器获取的file_type为“video/mp4”。但是在线服务器检测到mime类型为“application/octet-stream”。*
所以我在我的config文件夹的mime类型列表中添加了两个数组:

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

现在它在本地和在线服务器上都能完美工作。

qxgroojn

qxgroojn2#

如果一切都不起作用,请重新排列允许的类型顺序,将视频格式放在第一位:

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

在我的情况下它工作。

ckocjqey

ckocjqey3#

当我们上传扩展名为mp4的视频时,我依赖于视频mime文件类型,但在CodeIgniter上传库中使用php函数finfo_file来检测文件类型。例如,我得到视频/3gpp
所以我在config/mimes.php中进行了更改

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

它为我工作。
谢谢

mzmfm0qo

mzmfm0qo4#

  • 我认为你做了所有的事情,但没有得到最终的输出。你可以按照下面的说明解决我的问题。
  • 使用sudo gedit/etc/php//apache2/php.ini(用于Linux)打开**<PHP_VERSION>php.ini文件,或者转到php.ini**文件。
  • upload_max_filesize = 2 M更改为upload_max_filesize = 100 M或根据您的选择。
  • post_max_size = 2 M更改为post_max_size = 100 M或根据您的选择,如200 M500 M
  • 现在使用sudo systemctl reload apache 2命令重新启动apache,或者如果您不是Linux用户(使用XamppLaragon只需停止计算机并重新启动)
  • 它已经解决了我的问题,希望它也能帮助你。

相关问题