解决https下IE上传图片不显示问题 版本 dx 3.3

估计3.4一样有这个问题,ie内核的浏览器下在上传后,缩略图都是显示xx。

 

这个问题主要还是https下,对图片输出的时候 不能使用
dheader(‘Content-Type: image’);
复制代码

必须要明确到jpeg,png这里。

在forum_image.php文件里59行左右
需要改为

  • dheader(‘Content-Type: image/jpeg’);

复制代码
当然这个并不完美

  • if($img->Thumb($filename, $thumbfile, $w, $h, $type)) {
    if($nocache) {
  • dheader(‘Content-Type: image/jpeg’);
    @readfile($_G[‘setting’]
  • [‘attachdir’].$thumbfile);

这样会让png的图片无法显示出来。

可以增加一个函数,来获取mime类型。
function get_image_extension($image){
$extension = pathinfo($filename,PATHINFO_EXTENSION);
if(in_array($extension,[‘jpg’,’jpeg’,’png’,’gif’,’bmp’])){
return  ‘image/’.$extension;
}
return ‘image’;
}
然后再去修改这个文件里输出的头部。
才可以彻底解决这个问题。

php 5.3之后可以使用
function get_image_extension($filename){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$rs = ”;
if (!$finfo) {
return ‘image’;
}
$rs = finfo_file($finfo, $filename);
finfo_close($finfo);
return $rs;
}

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论