PHP如何判断接收的是否为图片二进制数据?

如题所述

第1个回答  2013-10-12
该函数图像格式将自动检测,只要 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做了判断。。想加其他的按照以上规则增加即可。不过上边这个判断不够严谨,别人可以根据以上判断规则构造一个假数据。本回答被提问者采纳
相似回答