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]