考虑到你有 $file_name=iconv("utf-8","gb2312",$file_name);
你的代码应该是在 window 环境下工作的
那么打开图片文件时就必须要用二进制方式 $fp=fopen($file_name,"rb");
而linux下就不是必须的了

解决方案 »

  1.   

     $fp=fopen($file_name,"r");
    改成
    $fp=fopen($file_path,"r");
      

  2.   

    编码问题吧,你的PHP文件时什么编码类型的,要与图像一致喔
      

  3.   

    $fp=fopen($file_name,"r");里的$file_name改成$file_path;
    还有可能是php代码编码读取问题,在代码第一行添加
    header("Content-type=html/text;charset=utf-8");
    将你的php编码强制转为utf-8。(文件另存为utf-8后还不行,还需要再强制转换一下)
    我测试过,已正常输出。