PHP 压缩网站上的文件,并返回下载

<?php
$zipFileName = "teacher.zip";
$modpath=__FILE__;
require_once ("ziparchive/archive.php");
$archive = new zip_file ( $zipFileName );
$archive->set_options ( array ('basedir' => dirname ($modpath ), 'inmemory' => 0, //不在内存压缩.而是直接存放到磁盘.如果要压缩下载,则可以选择为1
'recurse' => 1, //是否压缩子目录,resurse,递归的意思?
'storepaths' => 1, //是否存储目录结构,我选是。
'overwrite' => 1, //是否覆盖
'level' => 5, //压缩比
'name' => $zipFileName, //压缩最后生成的文件名,无需再次设置。这里是为了解说方便才放上来的。
'prepend' => "", //未知
'followlinks' => 0, //未知
'method' => 1, //未知
'sfx' => "", //自解压
'type' => "zip", //是zip还是tar...,无需设置,这里为了方便解说。放上来。
'comment' => "" ) );
$files = array("*.*");
//可以将文件名单独列出来加进去,但是文件名必须在basedir下,文件名支持*.*表示压缩全部。
$archive->add_files($files); //加$files数组里的文件名
// 正式写入磁盘
$archive->create_archive();
@header("Content-Disposition: attachment; filename=\"$zipFileName\"");
@header ( "Content-Length: " . filesize ($zipFileName ) );
@readfile( $zipFileName);
?>

把website-archive.php文件放在网站根目录中,就可以执行压缩整站目录及文件。并提供下载。

你可能感兴趣的:(PHP)