• 技术文章 >php教程 >php手册

    php打包程序(在线解压与在线打包下载源码)(1/8)

    2016-06-13 11:24:13原创549
    php打包程序(在线解压与在线打包下载源码)本程序支持文件下载解压与在线压缩,这样我们就查以实例在线解压与在线打包下载功能了。

    php教程打包程序(在线解压与在线打包下载源码)
    本程序支持文件下载解压与在线压缩,这样我们就查以实例在线解压与在线打包下载功能了。
    */
    //phpzip.class.php
    class phpzip{
    var $datasec, $ctrl_dir = array();
    var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00";
    var $old_offset = 0; var $dirs = array(".");
    function get_list($zip_name) {
    $zip = @fopen($zip_name, 'rb');
    if(!$zip) return(0);
    $centd = $this->readcentraldir($zip,$zip_name);

    @rewind($zip);
    @fseek($zip, $centd['offset']);

    for ($i=0; $i<$centd['entries']; $i++)
    {
    $header = $this->readcentralfileheaders($zip);
    $header['index'] = $i;$info['filename'] = $header['filename'];
    $info['stored_filename'] = $header['stored_filename'];
    $info['size'] = $header['size'];$info['compressed_size']=$header['compressed_size'];
    $info['crc'] = strtoupper(dechex( $header['crc'] ));
    $info['mtime'] = $header['mtime']; $info['comment'] = $header['comment'];
    $info['folder'] = ($header['external']==0x41ff0010||$header['external']==16)?1:0;
    $info['index'] = $header['index'];$info['status'] = $header['status'];
    $ret[]=$info; unset($header);
    }
    return $ret;
    }

    function add($files,$compact) {
    if(!is_array($files[0])) $files=array($files);
    for($i=0;$files[$i];$i++){
    $fn = $files[$i];
    if(!in_array(dirname($fn[0]),$this->dirs))
    $this->add_dir(dirname($fn[0]));
    if(basename($fn[0]))
    $ret[basename($fn[0])]=$this->add_file($fn[1],$fn[0],$compact);
    }
    return $ret;
    }

    1 2 3 4 5 6 7 8

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:直接用php创建word文档代码(系统无需安装word软件) 下一篇:php 把会员数据导入到ucenter代码
    Web大前端开发直播班

    相关文章推荐

    • 深入理解PHP中的匿名函数• PHP网站性能分析• PHP输入流input简介• 一天学会PHP~!• PHP.MVC的模板标签系统之初识PHP.MVC

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网