CodeIgniter 中视频文件上传的奇怪问题

Posted

技术标签:

【中文标题】CodeIgniter 中视频文件上传的奇怪问题【英文标题】:Strange Issue with Video File Upload in CodeIgniter 【发布时间】:2012-04-17 07:17:27 【问题描述】:

我正在 CodeIgniter (v 2.1.0) 上构建一个视频网站。管理员可以通过管理面板上传视频。它在我的本地服务器上完美运行。但是在远程测试服务器上,它不起作用。我已将 mimes.php 设置为正确识别文件类型。允许的文件类型没问题。但是错误消息说不允许使用文件类型。 这是我的 mimes.php:

...
'mp4'  => 'video/mp4',
'flv'  => 'video/x-flv',
'avi' => 'video/x-msvideo',
'mpeg' => 'video/mpeg',
...

允许的文件类型:

$upload_config['allowed_types'] = 'flv|mp4|avi|mpeg'

使用$this->upload->initialize($upload_config); 初始化上传库如果我为 $_FILES 执行 var_dump 它会给我:

array(1)  ["video_file"]=> array(5)  ["name"]=> string(48) "test_video_file.mp4" ["type"]=> string(9) "video/mp4" ["tmp_name"]=> string(14) "/tmp/phpwkOICI" ["error"]=> int(0) ["size"]=> int(5668643)   

它有什么问题?让我抓狂的是,相同的脚本在我的本地机器上运行良好,但在远程测试子域上却无法运行。每条调试消息对我来说都是合法的。任何帮助深表感谢。 谢谢和问候

【问题讨论】:

试试$this->upload->display_errors()看看会抛出什么错误 如果您的远程是 Apache 服务器,您的 .htaccess 文件是什么样的? @safarov 错误是“不允许您尝试上传的文件类型。” @timpeterson .htaccess 与本地服务器相同:pastebin.com/EqAAnB52 不知道是否重要,但远程服务器在VPS托管下。老实说,我自己从未管理过 VPS,所以我不知道是否需要在那里进行任何更改。 嗯,这与托管本身无关,而是实际的服务器配置。如果 PHP 在您的本地机器上运行,则它是正确的。 【参考方案1】:

我认为它是 v 2.1.0 上的一个错误。尝试这些说明来解决问题http://ellislab.com/forums/viewthread/204725/

【讨论】:

没有骰子。刚刚尝试修复。仍然是错误。我感觉它与服务器设置有关。有什么想法吗?【参考方案2】:

我遇到了同样的问题。查看Apache日志后,原来是PHP设置...上传的文件太大了。因此,为了避免必须记住更改我可能正在运行该站点的每台服务器上的 PHP 设置,我通过添加以下两行来修改 .htaccess 文件:

php_value upload_max_filesize 10M

php_value post_max_size 10M

在这里找到答案:https://www.dokuwiki.org/faq:uploadsize

【讨论】:

以上是关于CodeIgniter 中视频文件上传的奇怪问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在视频上传时创建缩略图? [php/codeigniter]

使用codeigniter在CSV文件中以奇怪的方式出现日期格式

如何使用 Codeigniter 删除上传的文件?

在 CodeIgniter 中上传多个文件

Codeigniter 2.1.4 应用程序被黑了?

在 Codeigniter 中上传多个文件