php备份网站,php压缩备份整个网站

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

使用方法:把下面的代码保存为mogubak.php(可自定义),然后放到服务器根目录,执行http://你的域名/mogubak.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!
';

echo 'click to download';

}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);

}

?>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP可以通过使用命令行工具或者PHP扩展来实现数据库与代码备份。 1. 使用命令行工具 (1)数据库备份 使用 mysqldump 工具可以将 MySQL 数据库导出为SQL脚本文件,从而实现备份。 示例代码: ``` system('mysqldump -u root -p dbname > backup.sql'); ``` 其中,-u指定数据库用户名,-p指定密码,dbname是要备份的数据库名称,> 操作符将备份结果输出到 backup.sql 文件中。 (2)代码备份 使用 tar 命令可以将代码文件打包成一个压缩包,从而实现备份。 示例代码: ``` system('tar -zcvf backup.tar.gz /path/to/code'); ``` 其中,-z指定压缩格式为gzip,-c指定创建压缩包,-v指定显示详细信息,-f指定输出文件名,/path/to/code是要备份的代码目录。 2. 使用PHP扩展 使用PHP的扩展包,我们可以更方便地备份数据和代码。以备份MySQL数据为例,可以使用PDO扩展连接数据库,然后使用PDOStatement::fetchAll()方法获取查询结果,最后将结果写入文件中。 示例代码: ``` $pdo = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'password'); $stmt = $pdo->query("SELECT * FROM mytable"); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); $fp = fopen('backup.sql', 'w'); foreach ($result as $row) { fwrite($fp, "INSERT INTO mytable (col1, col2) VALUES ('{$row['col1']}', '{$row['col2']}');"); } fclose($fp); ``` 其中,PDO::FETCH_ASSOC指定查询结果的格式为关联数组,将结果按照SQL语句的格式写入backup.sql文件中。 代码备份也可以使用PHP的ZipArchive扩展来实现。 示例代码: ``` $zip = new ZipArchive(); $zip->open('backup.zip', ZipArchive::CREATE); $files = array('/path/to/file1', '/path/to/file2'); foreach ($files as $file) { $zip->addFile($file); } $zip->close(); ``` 其中,ZipArchive::CREATE指定创建新的压缩包,$files是要备份的文件列表,使用ZipArchive::addFile()方法将文件加入压缩包中,最后使用ZipArchive::close()方法关闭压缩包。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值