php 中可以通过递归函数来复制文件或目录,步骤如下:创建目标目录,如果不存在。对于源目录中的每个项,如果为目录则递归复制,否则直接复制。使用 force=true 参数可覆盖现有文件。
使用 PHP 递归函数实现文件或目录的复制
在 PHP 中,我们可以使用递归函数来实现文件或目录的复制。以下是如何实现的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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免费学习笔记(深入)”;
以下是如何使用该函数复制一个目录:
1
2
3
4
|
$sourceDirectory = '/path/to/source' ;
$destinationDirectory = '/path/to/destination' ;
copyDirectory( $sourceDirectory , $destinationDirectory );
|
此函数将复制 sourceDirectory 中的所有文件和子目录到 destinationDirectory。
请注意,此函数不会覆盖现有文件。如果您希望覆盖现有文件,可以使用 force=true 参数:
1
|
copyDirectory( $sourceDirectory , $destinationDirectory , true);
|
登录后复制