xuol001 发表于 2018-12-22 11:43:10

PHP判断上传的否是图片

  判断用户上传的是否为图片,最简单的方法是后缀名。但是这样判断的话,***还是可以把运行文件上传进去。所以不能仅仅判断后缀名,我们要读取图片的2个字节,判断一下是不是图片。这个函数是我朋友共享的,我现在共享给大家。有什么漏洞希望大家提出来,共同商讨!谢谢


[*]//判断上传的是不是图片
[*]public functionpic ($fileName){
[*]    $file   = fopen($fileName, "rb");
[*]    $bin      = fread($file, 3); //只读2字节
[*]
[*]    fclose($file);
[*]    $strInfo= @unpack("C2chars", $bin);
[*]    $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
[*]    $fileType = '';
[*]
[*]    if($typeCode == 255216 /*jpg*/ || $typeCode == 7173 /*gif*/ || $typeCode == 13780 /*png*/) {
[*]      return $typeCode;
[*]    }else{
[*]       // echo '"仅允许上传jpg/jpeg/gif/png格式的图片!';
[*]      return false;
[*]    }
[*]}




页: [1]
查看完整版本: PHP判断上传的否是图片