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.sysbbie.com/phper/39.html

發表評論

點擊我更換圖片

評論列表

聯系我們

在線咨詢:點擊這里給我發消息

微信號:alipays123

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

主機測評 主機評測 網站模版
免费观看性生交大片_免费观看18禁欲无遮挡奶水下_AV无码东京热亚洲男人的天堂_欧美大片欧美激情性色A∨在线