<?php
function judgeFileType($filename) {
$filehead = fopen($filename, 'r');
$bin = fread($filehead, 2);
fclose($filehead);
$str_info = @unpack("C2chars", $bin);
$type_code = intval($str_info['chars1'].$str_info['chars2']);
echo $type_code;
$type = array('8075', '8297');
if(in_array($type_code, $type)) {
return true;
} else {
return false;
}
}
function judgeFileType2($filename) {
$filehead = fopen($filename, 'r');
$bin = fread($filehead, 2);
fclose($filehead);
$str_info = @unpack("C2chars", $bin);
$type_code = intval($str_info['chars1'].$str_info['chars2']);
echo $type_code;
$type = array('8075', '8297');
$temp = explode(".", $filename);
$extension = end($temp);
if(($extension == 'zip' && $type_code == '8075') || ($extension == 'rar' && $type_code == '8297')) {
return true;
} else {
return false;
}
if(in_array($type_code, $type)) {
return true;
} else {
return false;
}
}
var_dump(judgeFileType('php_practices/test.zip'));
var_dump(judgeFileType('php_practices/test.rar'));
var_dump(judgeFileType2('php_practices/test.zip'));
var_dump(judgeFileType2('php_practices/test.rar'));
?>