Check zip magic number, rar magic number

Table of Content

Check zip magic number, rar magic number dùng để kiểm tra xem file upload có phải là file *.zip hoặc file *.rar hay không.

function isRarOrZip($file) {
    // get the first 7 bytes
    $bytes = file_get_contents($file, FALSE, NULL, 0, 7);
    $ext = strtolower(substr($file, - 4));
    // RAR magic number: Rar!\x1A\x07\x00
    if ($ext == '.rar' and bin2hex($bytes) == '526172211a0700') {
        return TRUE;
    // ZIP magic number: none, though PK\003\004, PK\005\006 (empty archive),
    // or PK\007\008 (spanned archive) are common.
    if ($ext == '.zip' and substr($bytes, 0, 2) == 'PK') {
        return TRUE;
    return FALSE;
Kiểm tra phải file upload lên là file zip hay không, nếu đúng thì giải nén ra
		$zip = new ZipArchive;
		$res = $zip->open($targetFile);
		if ($res === TRUE) {
		  echo 'done!';
		} else {
		  echo 'error!';
  -soiqualang_chentreu  ]]>

0 thoughts on “Check zip magic number, rar magic number”

Leave a Reply

Your email address will not be published. Required fields are marked *