php 使用 unpack 获取zip 压缩文件的版本信息

<?php
    /*
    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
?>

php 从zip压缩文件中提取文件

<?php
/*
php 从zip压缩文件中提取文件
*/
$zip = new ZipArchive;

if ($zip->open('jQuery五屏上下滚动焦点图代码.zip') === TRUE) {//中文文件名要使用ANSI编码的文件格式
    $zip->extractTo('foldername');//提取全部文件
	//$zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));//提取部分文件
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

php 从一个zip压缩文件中删除文件

<?php
/*
php 从一个zip压缩文件中删除文件
*/
$zip = new ZipArchive;
if ($zip->open('ajaxupload.zip') === TRUE) {
    $zip->deleteName('file.txt');//删除文件
    $zip->deleteName('testDir/');//删除文件夹
	$zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>