2016-07-26 115 views
0

在我的FTP上我想複製一個包含文件和子目錄的目錄。由於我不知道子目錄的名稱,不知道它們有多少,所以我需要一些動態的東西。如何複製包含子目錄的目錄?

該腳本會將所有文件從一個目錄複製到另一個目錄。

public function copyfolder($source, $destination) { 
    //Open the specified directory 
    $directory = opendir($source); 

    //Create the copy folder location 
    mkdir($destination); 

    //Scan through the folder one file at a time 
    while(($file = readdir($directory)) != false) { 
     //Copy each individual file 
     copy($source.'/' .$file, $destination.'/'.$file); 
    } 
} 

當目錄包含子目錄時,問題就開始了。所以上面的代碼將它們視爲文件。然後,我希望腳本足夠聰明,以便了解它們是否是子類別,並嘗試爲它們運行相同的循環,因爲它通過主目錄的每個文件。

我真的沒有線索如何做到這一點。任何幫助,將不勝感激!

回答

0

請注意,此解決方案並不是很好,因爲它不便攜。

你可以使用你的系統命令行來複制文件,它比PHP循環更快。

的Linux:cp -R

的Windows:xcopy

PS:如果你真的想使用PHP你必須做一個遞歸函數,但如果把它帶到長到複製文件的腳本將得到超時。

0

在你的PHP代碼,你可以悅代碼,

public function() 
{ 
    ... 
    $sourcedir = ...; 
    $targetdir = ...; 
    `cp -r $sourcedir $targetdir`; 
} 
相關問題