3 回答
TA贡献1802条经验 获得超4个赞
使用运行CodeIgniter应用程序的FTP / SFTP / scp / etc将.wmv文件上传到服务器
在上载.wmv文件的服务器上,执行以下PHP代码
<?php
$file_path = 'CHANGE_THIS_TO_ABSOLUTE_FILE_PATH_THAT_YOU_HAVE_UPLOADED.wmv';
$finfo = finfo_open(FILEINFO_MIME);
$mime = finfo_file($finfo, $file_path);
var_dump($mime);
?>
将代码另存为mime.php
在终端中运行-$ php mime.php
如果它转储了wmv以外的任何其他值,则将该值附加到wmv mime类型中。
还要在其他开发机器中检查PHP_VERSION。finfo_open在PHP 5.3中引入。上载正常工作的开发计算机可能具有旧版本的PHP,或者可能具有适用于wmv的正确的mime类型。
TA贡献2036条经验 获得超8个赞
我最近在Codeigniter的Upload Class中遇到了一些非常相似的问题。
* allowed_types *似乎不起作用。例如,我想允许上传.PNG图片,但不允许它们通过过滤器。我最终进行了进一步调查。我允许所有文件类型临时上载,我上载.PNG,然后转储上载数据($ this-> upload-> data()); )。由于某种原因,它认为MIME类型为text / plain!这可能与您的问题有关。
有一些解决方案,我在一些论坛上冲浪,您可以在其中修改/扩展类或核心,但是它们对我不起作用-抱歉。我认为这是Codeigniter Core的错误(我认为该问题已经由EllisLabs提出)。无论如何,我最终还是硬编码了该死的东西!好吧,希望对您有所帮助。
基本示例/解决方法,
//replace with your allowed MIME types
if ($_FILES['name_of_form_upload']['type'] != 'image/jpeg' && $_FILES['name_of_form_upload']['type'] != 'image/png' && $_FILES['name_of_form_upload']['type'] != 'image/gif') {
$data['message'] = '<div class="message">That file type is not allowed!</div>';
$this->load->view('home_view', $data);
} else {
//run upload code
}
编辑:格式/语法
- 3 回答
- 0 关注
- 545 浏览
添加回答
举报