php ZipArchive 能否在指定目录生成压缩包
初步接触ZipArchive,目前发现ZipArchive类生成的zip压缩包是存储在php页面所在目录的,但是由于我的应用是放在新浪SAE平台上,不允许在这个目录写文件...
初步接触ZipArchive , 目前发现 ZipArchive类生成的zip压缩包是存储在 php页面所在目录的,但是由于我的应用是放在新浪SAE平台上,不允许在这个目录写文件。请问 ZipArchive 能在指定的目录生成zip包吗。
展开
2个回答
展开全部
public function backupfiles(){
$filename = "backups/". time().".zip";
$zip = new \ZipArchive();
$zip->open($filename,\ZipArchive::CREATE);
$path = 'demo';//指定的目录
$this->addFileToZip($path, $zip);
}
public function addFileToZip($path, $zip){
$handler = opendir($path);
while (($filename=readdir($handler)) !== false) {
if ($filename!= "." && $filename!=".."){
if(is_dir($path."/".$filename)){
$this->addFileToZip($path."/".$filename,$zip);
} else {
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
$filename = "backups/". time().".zip";
$zip = new \ZipArchive();
$zip->open($filename,\ZipArchive::CREATE);
$path = 'demo';//指定的目录
$this->addFileToZip($path, $zip);
}
public function addFileToZip($path, $zip){
$handler = opendir($path);
while (($filename=readdir($handler)) !== false) {
if ($filename!= "." && $filename!=".."){
if(is_dir($path."/".$filename)){
$this->addFileToZip($path."/".$filename,$zip);
} else {
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询