本文实例讲述了PHP实现递归复制整个文件夹的类。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<?php /* * 文件夹复制类 */ class CopyFile { public $fromFile ; public $toFile ; /* * $fromFile 要复制谁 * $toFile 复制到那 */ function copyFile( $fromFile , $toFile ){ $this ->CreateFolder( $toFile ); $folder1 =opendir( $fromFile ); while ( $f1 =readdir( $folder1 )){ if ( $f1 != "." && $f1 != ".." ){ $path2 = "{$fromFile}/{$f1}" ; if ( is_file ( $path2 )){ $file = $path2 ; $newfile = "{$toFile}/{$f1}" ; copy ( $file , $newfile ); } elseif ( is_dir ( $path2 )){ $toFiles = $toFile . '/' . $f1 ; $this ->copyFile( $path2 , $toFiles ); } } } } /* * 递归创建文件夹 */ function CreateFolder( $dir , $mode = 0777){ if ( is_dir ( $dir ) || @ mkdir ( $dir , $mode )){ return true; } if (! $this ->CreateFolder(dirname( $dir ), $mode )){ return false; } return @ mkdir ( $dir , $mode ); } } //使用方法 //引入本类,直接new copyFile('要复制谁','复制到那'); //$file = new CopyFile('aaaa/aaaaa','bbbbb/bbbb'); ?> |
希望本文所述对大家的php程序设计有所帮助。