SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享

yipeiwu_com6年前PHP代码库
解决方案如下,其它框架雷同。

源代码(/system/libraries/upload.php 199 line)

$this->file_type = preg_replace("/^(.+?);.*$/", "\\1", $_FILES[$field]['type']);

修改成如下:

复制代码 代码如下:

//Edit By Tacker
if(function_exists('mime_content_type')){
$this->file_type = preg_replace("/^(.+?);.*$/", "\\1", mime_content_type($this->file_temp));
}else{
$this->file_type = preg_replace("/^(.+?);.*$/", "\\1", $_FILES[$field]['type']);
}

相关文章

解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用

一个是:DIRECTORY_SEPARATOR DIRECTORY_SEPARATOR:路径分隔符,linux上就是‘/'    windows上是‘\'...

PHP 伪静态隐藏传递参数名的四种方法

伪静态方法一: 复制代码 代码如下: <?php //伪静态方法一 // localhost/php100/test.php?id|1@action|2 $Php2Html_Fil...

PHP设计模式之工厂模式(Factory Pattern)的讲解

面向对象编程中,工厂模式是我们最常用的实例化对象模式,工厂类就是一个专门用来创建其它对象的类,工厂类在多态性编程实践中是非常重要的。它允许动态替换类,修改配置,会使应用程序更加灵活。掌握...

详解PHP序列化反序列化的方法

经常看到一些配置文件里面存放的是一些类似带有格式的变量名称和值,其实就是一个序列化的过程,在需要用到这些数据库的时候会进行一个反序列化过程,就是将这个字符串再还原成他原来的数据结构。下面...

php使用array_rand()函数从数组中随机选择一个或多个元素

使用array_rand() 函数从数组中随机选出一个或多个元素,并返回。 复制代码 代码如下: array_rand(array,number) 参数 描述 array 必需。规定输...