php 中可以通過(guò)遞歸函數(shù)來(lái)復(fù)制文件或目錄,步驟如下:創(chuàng)建目標(biāo)目錄,如果不存在。對(duì)于源目錄中的每個(gè)項(xiàng),如果為目錄則遞歸復(fù)制,否則直接復(fù)制。使用 force=true 參數(shù)可覆蓋現(xiàn)有文件。
使用 PHP 遞歸函數(shù)實(shí)現(xiàn)文件或目錄的復(fù)制
在 PHP 中,我們可以使用遞歸函數(shù)來(lái)實(shí)現(xiàn)文件或目錄的復(fù)制。以下是如何實(shí)現(xiàn)的代碼:
function copyDirectory($source, $destination) { if (! is_dir($destination)) { mkdir($destination, 0777, true); } $files = scandir($source); foreach ($files as $file) { if ($file == '.' or $file == '..') { continue; } if (is_dir($source . '/' . $file)) { copyDirectory($source . '/' . $file, $destination . '/' . $file); } else { copy($source . '/' . $file, $destination . '/' . $file); } } }
登錄后復(fù)制
實(shí)戰(zhàn)案例
以下是如何使用該函數(shù)復(fù)制一個(gè)目錄:
$sourceDirectory = '/path/to/source'; $destinationDirectory = '/path/to/destination'; copyDirectory($sourceDirectory, $destinationDirectory);
登錄后復(fù)制
此函數(shù)將復(fù)制 sourceDirectory 中的所有文件和子目錄到 destinationDirectory。
請(qǐng)注意,此函數(shù)不會(huì)覆蓋現(xiàn)有文件。如果您希望覆蓋現(xiàn)有文件,可以使用 force=true 參數(shù):
copyDirectory($sourceDirectory, $destinationDirectory, true);
登錄后復(fù)制