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
    评论
文件一个个传,厌烦了吧? 服务器端解压操作说明: 1 用记事本打开 unzip.php ,在第二行,找到 “ $password = "isphp" ” 这一句, 将isphp 改成您的密码,等会解压时会要求输入。 2 将 unzip.php 上传到服务器端某个目录下,比如根目录。 3 运行 unzip.php, 看其给出的提示是否支持 zlib 库, 如果不支持,则在下面一步本地压缩时不要将"压缩成Gzip格式"选中。 4 在本机运行 phpZip.exe, 如果第3步中,unzip.php 提示说不支持zlib库,则不要选中 "压缩成Gzip格式", 否则压缩出的文件,在服务器端没法解压, 反之,如果支持的话,就选中,因为压缩成gz格式,可以大大减小文件大小。 5 运行 unzip.php,将刚才在本机压缩出的文件通过 unzip.php 上传,上传后会自动解压。 (也可以通过其它途径如 FTP 将文件上传到服务器,这样只要指定其位置即可。) ------------------------------------------------------- 服务器端打包下载操作说明 1 用记事本打开 unzip.php ,在第二行,找到 “ $password = "isphp" ” 这一句, 将isphp 改成您的密码,等会解压时会要求输入。 2 运行 zip.php , 输入想下载的目录,程序会给出一个链接, 点此链接(或者通过 FlashGet 一类工具) 就可以下载。 3 在本地运行 phpZip.exe 将下载下来的文件解压就行。 注: 如果想下载整个 zip.php 所在的当前目录,则输入 "." (点号) 即可。 这种情况下,在本地解压时,选择解压目的地时,最好选择一空的文件夹。 因为,当仅打包下载当前目录下的一个子目录时,在本地解压时, 程序会自动创建一个同名的文件夹, 而下载当前整个目录时,程序不会创建文件夹。 ------------------------------------------------------- 删除文件工具 rm.php 功能说明: 因 Unix/Linux 服务器特殊的文件操作权限的设置, 由程序创建的文件文件夹, 不一定能通过 FTP 直接删除, 删除时往往会提示没有权限删除该文件。 所谓,解铃还需系铃人,当程序创建的文件或或文件夹无法删除时, 可用程序来删除。 1 同上面一样,这个程序也要设置密码。 2 运行 rm.php 输出要删除的文件夹或文件名,以及管理密码。就可以了。 注: 当您输入的是文件夹的名字时,程序会递归删除该文件夹内 所有的文件, 一定要慎重!!! ------------------------------------------------------- 低版本 PHP 下使用解压或压缩功能说明 程序附带 的 unzip.php3.php 及 zip.php3.php 两个文件, 是当服务器的 PHP 版较低(一般低于 4.1 左右, 不一定真的 是 PHP3, 呵呵)时使用。可先不管PHP版本,先就使用 unzip.php 当运行 unzip.php 时发现提交后页面没什么反应, 还是老样子,就可能是 PHP 版过低的缘故。此时可用这两个 文件代替前面说的 unizp.php 和 zip.php 注: 这两个程序都不带密码验证的功能,也就是说任何人, 只要能访问到此页面,都有可能会上传或下载文件。 请使用完毕,务必将此文件从服务器上删除。 以免造成危害。 ------------------------------------------------------- 各文件功能说明: phpZip.exe 本地压缩或解压的程序 unzip.php 服务器端将压缩后文件解开 zip.php 服务器端将文件夹打包压缩下载 unzip.php3.php 基本与 unzip.php 功能相同,主要用在较低版本的PHP上 zip.php3.php 基本与 zip.php 功能相同,主要用在较低版本的PHP上 rm.php 脚本删除文件文件夹的工具 phpZipExt.dll 辅助 phpZip 运行的 DLL(没有此DLL程序也可以运行,但不能与Explorer集成) ------------------------------------------------------- 修改记录: 16:25 2003-11-29: 增加 phpZipExt.dll ,使得程序可以与 WinRAR 一样,可以与 Explorer 集成,方便操作。详细说明请看帮助文件。 增加压缩解压时的进度条,使得用户界面更加友好。 14:08 2003-11-30 修改 phpZip.exe 压缩或解压时一开始选中的目录为要操作文件文件夹相同的目录。 19:43 2004-2-10 增加一个附带文件,rm.php 用来删除服务器上文件文件夹 增加密码验证功能,使之在服务器上会安全一点。 ------------------------------------------------------- 求积分,谢谢啦!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值