使用php解压缩文件包

解决方案 »

  1.   

    php 已经提供了相应的函数库
      

  2.   

    可以参考:<?php
    $zip = zip_open("zip.zip");
    if ($zip) {
      while ($zip_entry = zip_read($zip)) {
        $fp = fopen("zip/".zip_entry_name($zip_entry), "w");
        if (zip_entry_open($zip, $zip_entry, "r")) {
          $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
          fwrite($fp,"$buf");
          zip_entry_close($zip_entry);
          fclose($fp);
        }
      }
      zip_close($zip);
    }
    ?>
      

  3.   

    php有相关函数库
    详细的可以查看Zlib相关的说明!
      

  4.   

    /*
     $data = file($fileName);
     foreach ($data as $line) {
                $content .= htmlspecialchars($line)."<br/>";
             }
     */
             //echo $content;
     
     if( $fp=fopen($fileName,"r") ) {
     while( !feof($fp) ) {
                    $line = fgets($fp);
    $line .= "\n";
    $data .= $line;
     }
      

  5.   

    if( preg_match("/<Message cmd = \":cfg-get-sncpbdmap:(([0-9]+&&[0-9]+)|[[0-9]+&&[0-9]+&[0-9]+&&[0-9]+]*)\">([^\<]+)/",$data, $Match) ) {
         
                     if(preg_match_all("/[0-9]+[ ]+[a-z]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+[a-z0-9]+/",$Match[0], $MatchLine)) {
    for($i=0;$i<count($MatchLine[0]);$i++) {
    $field = preg_split("/[ ]+/",$MatchLine[0][$i]);

    $sql = "INSERT INTO `tbl_cfg-get-sncpbdmap` (m_id,pg_id,pu_id,src_bid,src_pid,src_au4,src_path,dst_bid,dst_pid,dst_au4,dst_path,xc_level,command,insert_date) VALUES ('{$id}','{$field[0]}','{$field[1]}','{$field[2]}','{$field[3]}','{$field[4]}','{$field[5]}','{$field[6]}','{$field[7]}','{$field[8]}','{$field[9]}','{$field[10]}','cfg-get-sncpbdmap','{$cur_date}')";                        
    @mysql_query($sql);
    }
     }
     }
      

  6.   

    <?php
    header("Content-type: text/html; charset=utf-8");
    set_time_limit(0);
    $filename = base64_decode("T3B0aVggT1NOIDc1MDAtMTAuMTg2LjEzMC43MC05LTUyMy56aXA=");
    $zip = zip_open(realpath($filename));if ($zip) {    while ($zip_entry = zip_read($zip)) {                if (zip_entry_open($zip, $zip_entry, "r")) {
                echo "File Contents:<br/>";
                $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                //echo "$buf<br/>";

    // 防止文件内容迭加
    unlink("res/log.txt"); if( $handle = fopen("res/log.txt",'a') ) {
    fwrite($handle, $buf);
    fclose($handle);
    }             zip_entry_close($zip_entry);
            }
            echo "<br/>";    }    zip_close($zip);
    }?>