你的服务器在编译 gd 是没有打开 --jpeg 开关

解决方案 »

  1.   

    gd里面是有显示JPEG Support是enabled的。难道这个不算是打开吗?
      

  2.   

    算,但是错误信息显示 jpeg lib 是有问题的
    所以你最好重新编译一下 gd
      

  3.   

    是不是这个文件不是jpeg的图片呢?
      

  4.   

    其实png的图片资源可以用.jpg文件来显示的,现在好多网站上的jpg图片其实实际还是png图片资源
      

  5.   

    嗯,#5 提醒的对,非 jpg 文件用 imagecreatefromjpeg 打开时就会报 imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error其实 gd 提供了从字符串打开的函数 imagecreatefromstring
    就不必先判断图片的类型了
    $im = imagecreatefromstring(file_get_contents('图片文件名'));
    当然图片类型还是需要是 gd 支持的那几种的
      

  6.   

    先判断一下图片类型,再用调用对应的方法打开。$obj = new finfo(FILEINFO_MIME_TYPE);
    $type = $obj->file($file);switch($type){
        case 'image/gif': $img = imagecreatefromgif($file); break;
        case 'image/jpeg': $img = imagecreatefromjpeg($file); break;
        case 'image/png': $img = imagecreatefrompng($file); break;
        default: return false;
    }
      

  7.   

    本地没问题,楼主是否本地用的是win,服务器用linux?
    那就考虑是不是图片路径,或图片文件名大小写问题。