/*
php 使用 unpack 获取zip 压缩文件的版本信息
*/
function getZipVer($zipfile) {
$quote_val = get_magic_quotes_runtime();
set_magic_quotes_runtime(false);
$fr = @fopen($zipfile, 'rb');
if(!$fr) return false;
if(fseek($fr, 4) == -1) return false;
//第5、6个字节是版本信息
$ver = fread($fr, 2);
fclose($fr);
$values = unpack("vversion", $ver);
$verdata = array('major' => $values['version'] / 10,
'minor' => $values['version'] % 10);
set_magic_quotes_runtime($quote_val);
return $verdata;
}
$version = getZipVer('test.zip');
if(!$version) {
echo "Error reading version information!";
} else {
echo "Version info: {$version['major']} (major)" .
", {$version['minor']} (minor)";
}
//http://books.msspace.net/mirrorbooks/php5/067232511X/ch20lev1sec1.html
?>