重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
该函数图像格式将自动检测,只要 PHP 支持:JPEG,PNG,GIF,WBMP 和 GD2。 返回值:成功则返回图像资源,如果图像格式不支持,数据不是认可的格式,或者图像已损坏则返回 FALSE如果没有GD库可以使用下边的方法: function check_img_by_source($source) { switch(bin2hex(substr($source,0,2))){ case 'ffd8' : return 'ffd9' === bin2hex(substr($source,-2)); case '8950' : return '6082' === bin2hex(substr($source,-2)); case '4749' : return '003b' === bin2hex(substr($source,-2)); default : return false;}}//测试var_dump(check_img_by_source(file_get_contents('11.gif'));大概是这个样子的吧,只针对了jpg,png,gif做了判断。。想加其他的按照以上规则增加即可。 不过上边这个判断不够严谨,别人可以根据以上判断规则构造一个假数据。
创新互联主要从事做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务栖霞,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
本文实例讲述了php将图片文件转换成二进制输出的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
header(
Content-type:
image/jpeg);
$PSize
=
filesize('1.jpg');
$picturedata
=
fread(fopen('1.jpg',
r),
$PSize);
echo
$picturedata;
就这么简单4行代码,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别。
这里需要注意的是,发送的header要根据具体情况而定,不一定都是image/jpeg。JPG的就是image/jpeg,但PNG的就是image/png.不同类型的图片输出不同的头部。
一般是直接提供资源的链接,他们使用即可。
二进制数据可以通过base64处理后传过去。
浏览器里可以通过 img src="data:image/jpeg;base64,XXX"直接显示图片,
XXX表示图片内容base64_encode后的结果