使用php备份当前网站源码

技术 · 03-16 · 121 人浏览

php

说实话,现在运维工具太多了,功能也很完善,就拿网站备份来说,宝塔支持定时自动备份,还可以设置保存的份数。

即使这些功能已经很完善,但是自己还是想摸索一下,记录一下自己的过程,下面是一个通过php备份当前网站源码的程序:

修改源码路径、压缩文件保存路径,上传到你的网站程序运行目录执行即可备份。

<?php  
// 源码目录路径  
$sourceDir = '/www/wwwroot/5pxl3wbj/';  
  
// 压缩文件保存路径  
$zipFilePath = '/www/wwwroot/5pxl3wbj/back.zip';  
  
// 创建一个ZipArchive对象  
$zip = new ZipArchive();  
  
// 打开压缩文件,如果文件不存在则创建  
if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== TRUE) {  
    die("无法创建压缩文件");  
}  
  
// 递归遍历源码目录,并将文件添加到压缩包中  
$iterator = new RecursiveIteratorIterator(  
    new RecursiveDirectoryIterator($sourceDir),  
    RecursiveIteratorIterator::LEAVES_ONLY  
);  
  
foreach ($iterator as $file) {  
    // 排除目录本身  
    if (!$file->isDir()) {  
        // 获取文件相对于源码目录的路径  
        $relativePath = substr($file->getPathname(), strlen($sourceDir) + 1);  
          
        // 将文件添加到压缩包中  
        $zip->addFile($file->getPathname(), $relativePath);  
    }  
}  
  
// 关闭压缩文件  
$zip->close();  
  
echo "网站源码已压缩并导出到:$zipFilePath";  
?>

这里只做了备份到指定目录,当然你也可以改写一下直接下载到本地。

注意:如果网站程序占用空间过大,可能会导致访问超时,可以自行修改环境的请求超时的时间。

PHP