php 中可以通过递归函数来复制文件或目录,步骤如下:创建目标目录,如果不存在。对于源目录中的每个项,如果为目录则递归复制,否则直接复制。使用 force=true 参数可覆盖现有文件。
使用 PHP 递归函数实现文件或目录的复制
在 PHP 中,我们可以使用递归函数来实现文件或目录的复制。以下是如何实现的代码:
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);
}
}
}
实战案例
立即学习“PHP免费学习笔记(深入)”;
以下是如何使用该函数复制一个目录:
$sourceDirectory = '/path/to/source';
$destinationDirectory = '/path/to/destination';
copyDirectory($sourceDirectory, $destinationDirectory);
此函数将复制 sourceDirectory 中的所有文件和子目录到 destinationDirectory。
请注意,此函数不会覆盖现有文件。如果您希望覆盖现有文件,可以使用 force=true 参数:
copyDirectory($sourceDirectory, $destinationDirectory, true);