1. 首页>>开发笔记

PHP整站打包脚本

图怪兽_287d45b972e596090006a4460fa6c720_20843.jpg

手上维护着一个N久前的古老网站,网站用的虚拟主机只有ftp,备份必须借助工具才能实现,时间长了人也变的懒了,想搞个自动备份的方案,先折腾一下整站打包。废话不多少直接开干,以下是整站打包代码(ps:网上找一圈基本都是只能在php7.0以下的版本运行,没办法只能自己折腾)

<?php    

$token = $_GET@['token']; 

if($token=="123456")    

{    

    $zip = new ZipArchive();    

    //打包压缩存放在路径

    $filename = "./baks/".date("Y-m-d").'_'.mt_rand(000,999).".zip";    

    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {    

        exit("无法创建 <$filename> ");    

        }    

    $files = listdir();    

    foreach($files as $path)    

    {    

        $zip->addFile($path,str_replace("./","",str_replace("","/",$path)));   

    }   

    echo "压缩完成,共压缩了: " . $zip->numFiles . "个文件 ";   

    $zip->close();   

}   

Function listdir($start_dir='.') {   

  $files = array();   

  if (is_dir($start_dir)) {   

   $fh = opendir($start_dir);   

   while (($file = readdir($fh)) !== false) {  

     if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue;   

     $filepath = $start_dir . '/' . $file;   

     //跳过不备份的目录baks

     if(strpos($filepath,'baks') !== false) continue;

     if ( is_dir($filepath) )   

       $files = array_merge($files, listdir($filepath));   

     else   

       array_push($files, $filepath);   

   }   

   closedir($fh);   

  } else {   

   $files = false;   

  }   

 return $files;   

}   

?> 

以上在代码可在网站任意目录执行,写入目录需要有读写权限最好先自己手动创建。token可自由编辑利用脚本自动访问该地址即可实现每日本地备份。

接下来准备搞个异地备份脚本,这样就可以安心的偷懒了。


如无特别说明,文章均为本站原创。转载请注明出处:http://www.pddo.cn/phper/39.html

发表评论

点击我更换图片

评论列表

联系我们

在线咨询:点击这里给我发消息

微信号:alipays123

工作日:9:30-18:30,节假日休息

主机测评 主机评测 网站模版