图片水印输出不能正常显示问题!

WBOY
풀어 주다: 2016-06-20 12:28:38
원래의
1383명이 탐색했습니다.

$img = "img/iphone.jpg";$info = getimagesize($img);//获取图片信息$type = image_type_to_extension($info[2],false);//图片后缀$fun = "imagecreatefrom{$type}";//确定后缀选择相应函数$image = $fun($img);//利用函数接入图片地址$img_mark = "img/ulogo.png";//设置水印路径$info_mark = getimagesize($img_mark);//获取水印图片基本信息$type_mark = image_type_to_extension($info_mark[2],false);//获取图片类型$fun_mark = "imagecreatefrom{$type_mark}";//$water = $fun_mark($img_mark);imagecopymerge($image, $water, 20, 30, 0, 0, $info_mark[0],$info_mark[1],30);//合并图片imagedestroy($water);header('Content-type:'.$info['mime']);//告诉浏览器是图片输出$func = "image{$type}";//选择相应函数调用$func($image);//浏览器输出图片$func($image,"newimg.".$type);//保存图片imagedestroy($image);//销毁图片
로그인 후 복사


$func($image);
怎我这里不能输出图片在浏览器上显示?但又能保存图片到根目录下奇怪!!!


回复讨论(解决方案)

不能显示是什么意思?一个叉?

去掉程序文件的 BOM 头和多余的空格、空行

不能显示是什么意思?一个叉?

去掉程序文件的 BOM 头和多余的空格、空行



果真是BOM在作怪,设了无BOM格式URF8编码就可以了。为何会这样呢,可以解析下吗?

BOM 是若干个字符(utf-8是3个),但他并不属于图片的内容
不是图片的内容 加上 图片的内容,结果显然就不是图片了

BOM 是若干个字符(utf-8是3个),但他并不属于图片的内容
不是图片的内容 加上 图片的内容,结果显然就不是图片了



那怎么防止BOM的出现?

有时页面中又没有BOM出现,有时又会出现真奇怪~~~难道是工具问题?

BOM 头是你偏好 所谓的国际化 造成的
其实 BOM 不仅会影响图片的输出、文件的下载,还会影响页面的布局和 json 数据的解码
如果你一定要用 utf-8 编码保存文件,那么就一定要养成 无BOM 的习惯
其实在程序中很少有中文字符串常量的,所以并不需要保存为 utf-8 的

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿