php压缩备份整个网站

用php来打包整个网站文件到一个zip文件中,适合小网站的备份。如果网站数据较大,建议用shell备份。

使用方法:把下面的代码保存为mogubak.php(可自定义),然后放到服务器根目录,执行http://你的域名/mogubak.php。

备份完成后,会把下载链接显示在页面上。


<?php

set_time_limit(600);

$zip = new ZipArchive;
$zipname = $_SERVER['SERVER_NAME'].'_'.date('YmdH',time()).'_bak.zip';
$dir = __DIR__;
if($zip->open($zipname,ZIPARCHIVE::CREATE) == TRUE){
	filelist($dir);
	foreach($array as $k=>$v){
		$zip->addFile($v,str_replace(strval($dir).'/','',$v));
	}
	$zip -> close();
	echo 'Success!<br />';
	echo '<a href="http://'.$_SERVER['SERVER_NAME'].'/'.$zipname.'">click to download</a>';
}else{
	echo 'False!';
}

function filelist($dir){
	$dh = opendir($dir);
	while($file = readdir($dh)){
		if($file!='.' && $file!='..'){
			$path = $dir.'/'.$file;
			if(is_dir($path)){
				filelist($path);
			}else{
				$GLOBALS['array'][] = $path;
			}
		}
	}
	closedir($dh);
}

?>


为了数据安全,用完最好删除。

发表评论