在用 codeigniter 的上传类上传图片的时候,明明是 jpg 格式图片,但是 ci 始终识别成 application/octet-stream 类型,从而导致上传失败,搜集了下资料,解决方法如下:
在 php.ini 中开启 fileinfo 扩展来获取正确的类型:
复制代码 代码如下:
//windows
extension = php_fileinfo.dll
//linux
extension = fileinfo.so
注:关于fileinfo
PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP 5.3.0+已经默认支持Fileinfo函数(fileinfo support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。Centos 默认安装的LAMP环境php版本还是PHP5.2.6,低于5.3.0版本则可能出现类似错误提示:PHP Fatal error: Call to undefined function finfo_open() in…。因为之前的php版本,需要加载magic_open类,fileinfo函数属于PECL扩展,启用fileinfo PECL扩展才能
不知道这样能不能解决问题,试试吧:
1、在开始->控制面板->添加/删除程序里面将现在的ACDSEE删除掉;
2、在开始->运行中输入“regedit”回车,进入注册表编辑器;
3、点击“我的电脑”,用快捷键“Ctrl+F”进入查找;
4、在查找对话框里面输入“acdsee”,把找到的所有相关内容全部删除;(注意,删除之前最好用“文件->导出”对注册表进行备份,删除完之后再次查找确认已经删除干净了)
3、关闭注册表编辑器,用“超级兔子”再清理一下注册表和硬盘(所有acdsee相关的安装文件,包括隐藏的,都删除掉)
4、重启系统,安装官方ACDSEE软件包。(最好不要用从一些小网站上面down的测试版、试用版等,可能有bug,另外尽量不要做汉化,也比较容易出问题,强烈建议使用一个成熟的稳定版本,最新的版本一般bug都比较多)
祝你顺利解决问题:)
文件格式,一般用jpg或者gif可能为bmp了……