如何检查上传的文件是否为二进制文件?

时间:2010-10-06 13:21:34

标签: php

如何检查上传的文件是否是PHP中的二进制文件? 以及如何检查字符串是否为二进制文件?

2 个答案:

答案 0 :(得分:1)

function IsBinary($file) 
{ 
  if (file_exists($file)) { 
    if (!is_file($file)) return 0; 

    $fh  = fopen($file, "r"); 
    $blk = fread($fh, 512); 
    fclose($fh); 
    clearstatcache(); 

    return ( 
      0 or substr_count($blk, "^ -~", "^\r\n")/512 > 0.3 
        or substr_count($blk, "\x00") > 0 
    ); 
  } 
  return 0; 
}  

答案 1 :(得分:0)

你的意思是二进制?您可以遍历此文件,如果您获得一些不可打印的字符,您可以将其识别为二进制文件。