- 论坛徽章:
- 0
|
如何删除多文件夹下重复的文件?
我想实现以下这样的效果:
望高手们能修改下以下代码:
以下代码只能删除当前目录下重复的文件,但不能删除多文件夹下重复的文件。- <?php
- header('Content-Type: text/html; charset=gb2312');
- function searchFiles( $srcPath = '', $dstFile = '*', $subDir = false ){
- static $files = array();
- if ( !empty( $srcPath ) ) $srcPath = rtrim( $srcPath, '/' ).'/';
- $file = glob( $srcPath.$dstFile );
- if ( !empty( $file ) ) $files = array_merge( $files, $file );
- if ( $subDir ){
- foreach( glob( $srcPath.'*', GLOB_ONLYDIR ) as $dir ){
- searchFiles( $dir, $dstFile, $subDir );
- }
- }
- return $files;
- }
- $files = searchFiles( './', '*.txt', true );
- foreach( $files as $file ){
- if ( !is_writable( $file ) ) continue;
- $newname = preg_replace( '/(_\d*)*\.txt+$/i', '.txt', $file );
- if ( is_file( $newname ) ) unlink($file);//如果已经存在重命名后的文件,立即删除。
- rename( $file, $newname );//执行重命名
- }
- ?>
复制代码 |
|