2011-10-11 42 views
0

我正在構建一個自定義Web應用程序,用於存儲我爲客戶管理的網站的FTP和MySQL設置。我的目標不僅是存儲設置以供參考,還要創建功能以協助定期備份。使用PHP連接到FTP並備份所有文件夾內容

我已經擁有MySQL備份功能,它可以很好地工作,因爲它連接到遠程數據庫,創建一個轉儲並將其發送到我的瀏覽器以在本地下載。

但是...什麼是連接到遠程FTP並將特定文件夾的所有內容下載到本地計算機的最佳方式?

任何建議將是驚人的!

回答

0

mroerick發佈的php手冊中的示例可能會對您有所幫助。

<?php 
$ftp_server = "ftp.example.com"; 
$conn_id = ftp_connect ($ftp_server) 
    or die("Couldn't connect to $ftp_server"); 

$login_result = ftp_login($conn_id, "user", "pass"); 
if ((!$conn_id) || (!$login_result)) 
    die("FTP Connection Failed"); 

ftp_sync ("."); 

ftp_close($conn_id); 

function ftp_sync ($dir) { 

    global $conn_id; 

    if ($dir != ".") { 
     if (ftp_chdir($conn_id, $dir) == false) { 
      echo ("Change Dir Failed: $dir<BR>\r\n"); 
      return; 
     } 
     if (!(is_dir($dir))) 
      mkdir($dir); 
     chdir ($dir); 
    } 

    $contents = ftp_nlist($conn_id, "."); 
    foreach ($contents as $file) { 

     if ($file == '.' || $file == '..') 
      continue; 

     if (@ftp_chdir($conn_id, $file)) { 
      ftp_chdir ($conn_id, ".."); 
      ftp_sync ($file); 
     } 
     else 
      ftp_get($conn_id, $file, $file, FTP_BINARY); 
    } 

    ftp_chdir ($conn_id, ".."); 
    chdir (".."); 

} 
?> 
+0

謝謝喬納斯!我會給它一個! – matthoiland

+0

你的主要歡迎。祝你今天愉快。 –

相關問題