【发布时间】: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 在您的本地机器上运行,则它是正确的。
标签: php codeigniter file-upload