php 在线解压代码,php文件在线解压代码_PHP教程

public function ExtractFile($header,$to,$zip) {

$header = $this->readfileheader($zip);

if (substr($to,-1)!="/") $to.="/";

if ($to=='./') $to = '';

$pth = explode("/",$to.$header['filename']);

$mydir = '';

for($i=0;$i if (!$pth[$i]) continue;

$mydir .= $pth[$i]."/";

if ((!is_dir($mydir) && @mkdir($mydir,0777)) || (($mydir==$to.$header['filename'] || ($mydir==$to && $this->total_folders==0)) && is_dir($mydir)) ) {

@chmod($mydir,0777);

$this->total_folders ++;

echo 'Extract : ',$mydir,'

';

}

}

if (strrchr($header['filename'],'/')=='/') return;

if (!($header['external']==0x41FF0010)&&!($header['external']==16)) {

if ($header['compression']==0) {

$fp = @fopen($to.$header['filename'], 'wb');

if (!$fp) return(-1);

$size = $header['compressed_size'];

while ($size != 0) {

$read_size = ($size < 2048 ? $size : 2048);

$buffer = fread($zip, $read_size);

$binary_data = pack('a'.$read_size, $buffer);

@fwrite($fp, $binary_data, $read_size);

$size -= $read_size;

}

fclose($fp);

touch($to.$header['filename'], $header['mtime']);

} else {

$fp = @fopen($to.$header['filename'].'.gz','wb');

if (!$fp) return(-1);

$binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header['compression']),

Chr(0x00), time(), Chr(0x00), Chr(3));

fwrite($fp, $binary_data, 10);

$size = $header['compressed_size'];

while ($size != 0) {

$read_size = ($size < 1024 ? $size : 1024);

$buffer = fread($zip, $read_size);

$binary_data = pack('a'.$read_size, $buffer);

@fwrite($fp, $binary_data, $read_size);

$size -= $read_size;

}

$binary_data = pack('VV', $header['crc'], $header['size']);

fwrite($fp, $binary_data,8); fclose($fp);

$gzp = @gzopen($to.$header['filename'].'.gz','rb') or die("Cette archive est compress

http://www.bkjia.com/PHPjc/445020.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445020.htmlTechArticlepublic function ExtractFile($header,$to,$zip) { $header = $this-readfileheader($zip); if (substr($to,-1)!=/) $to.=/; if ($to=='./') $to = ''; $pth = explode(/,$to.$header['filename...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值