湖中沉 发表于 2012-12-16 17:26:25

php文件拷贝脚本

最近在进行大量的文件对比工作,其中需要进行文件的提取,知道了文件列表后,一个一个复制起来很麻烦,写了个脚本,代码如下:<?php

//list3 文件列表可直接提供,从本地获取。
//删除list1,需要手工执行unlink操作。

$arr = array(
    'list3' =>
      array(
      'admin\cloud\cloud_connect.php',
      'admin\cloud\cloud_doctor.php',
      'admin\cloud\cloud_manyou.php',
      'admin\cloud\cloud_search.php',
      'admin\cloud\cloud_siteinfo.php',
      'admin\cloud\cloud_stats.php',
      'admin\cloud\cloud_union.php',
      'admin\menu\menu_cloud.php',
      'admin\cloud.inc.php',
      'api\manyou\class\APIErrorResponse.php',
      'api\manyou\class\APIResponse.php',
      'api\manyou\class\Application.php',
      'api\manyou\class\Cloud.php',
      'api\manyou\class\CloudClient.php',
      'api\manyou\class\Common.php',
      'api\manyou\class\Connect.php',
      'api\manyou\class\Credit.php',
      'api\manyou\class\Feed.php',
      'api\manyou\class\Friends.php',
      'api\manyou\class\MiniBlog.php',
      'api\manyou\class\MyBase.php',
      'api\manyou\class\NewsFeed.php',
      'api\manyou\class\Notifications.php',
      'api\manyou\class\Photo.php',
      'api\manyou\class\Profile.php',
      'api\manyou\class\Request.php',
      'api\manyou\class\Search.php',
      'api\manyou\class\Site.php',
      'api\manyou\class\Union.php',
      'api\manyou\class\UserApplication.php',
      'api\manyou\class\Users.php',
      'api\manyou\channel.htm',
      'api\manyou\cloud_channel.htm',
      'api\manyou\cloud_iframe.js',
      'api\manyou\index.htm',
      'api\manyou\my.php',
      'api\my.php',
      'connect\connect_config.php',
      'connect\connect_feed.php',
      'connect\connect_logging.php',
      'connect\connect_login.php',
      'connect\connect_register.php',
      'connect\connect_share.php',
      'connect\connect_user.php',
      'images\admincp\cloud\btn.png',
      'images\admincp\cloud\btn_push.png',
      'images\admincp\cloud\cloud.css',
      'images\admincp\cloud\cloud.js',
      'images\admincp\cloud\editor_bg.png',
      'images\admincp\cloud\editor_btn.png',
      'images\admincp\cloud\fwin_menu.jpg',
      'images\admincp\cloud\ico_d.png',
      'images\admincp\cloud\image_s.gif',
      'images\admincp\cloud\jquery.min.js',
      'images\admincp\cloud\line.png',
      'images\admincp\cloud\message.png',
      'images\admincp\cloud\pn.png',
      'images\admincp\cloud\pt.png',
      'images\admincp\cloud\qqgroup.css',
      'images\admincp\cloud\qqgroup.js',
      'images\admincp\cloud\qun_bg.png',
      'images\admincp\cloud\qun_btn.png',
      'images\admincp\cloud\qun_op.png',
      'images\admincp\cloud\qun_op_list.png',
      'images\admincp\cloud\qun_op_top.png',
      'images\admincp\cloud\right.gif',
      'images\admincp\cloud\thumb.png',
      'images\admincp\cloud\wrong.gif',
      'images\default\connect_config_mark.png',
      'images\default\connect_qq.gif',
      'images\default\pengyou.png',
      'images\default\qq_bind.gif',
      'images\default\qq_bind_small.gif',
      'images\default\qq_login.gif',
      'images\default\qzone.gif',
      'images\default\weibo.png',
      'include\tasks\connect_bind.cfg.php',
      'include\tasks\connect_bind.inc.php',
      'include\cloud.func.php',
      'include\cloud_plugin.func.php',
      'include\connect.func.php',
      'plugins\cloudstats\cloudstats.class.php',
      'plugins\cloudstats\discuz_plugin_cloudstats.xml',
      'plugins\cloudstats\setting.inc.php',
      'plugins\qqconnect\templates\extend_common.css',
      'plugins\qqconnect\templates\extend_module.css',
      'plugins\qqconnect\templates\index.htm',
      'plugins\qqconnect\templates\login.htm',
      'plugins\qqconnect\templates\module.htm',
      'plugins\qqconnect\templates\register.htm',
      'plugins\qqconnect\templates\share.htm',
      'plugins\qqconnect\templates\spacecp.htm',
      'plugins\qqconnect\admin.inc.php',
      'plugins\qqconnect\connect.class.php',
      'plugins\qqconnect\discuz_plugin_qqconnect.xml',
      'plugins\qqconnect\index.htm',
      'plugins\qqconnect\install.php',
      'plugins\qqconnect\logo.inc.php',
      'plugins\qqconnect\spacecp.inc.php',
      'plugins\search\misc\api_form_bg_center.gif',
      'plugins\search\misc\api_form_bg_left.gif',
      'plugins\search\misc\api_form_bg_right.gif',
      'plugins\search\misc\api_form_search.gif',
      'plugins\search\misc\api_form_submit.gif',
      'plugins\search\misc\api_form_submit_forum.gif',
      'plugins\search\misc\form.css',
      'plugins\search\common.php',
      'plugins\search\discuz_plugin_search.xml',
      'plugins\search\form.inc.php',
      'plugins\search\index.html',
      'plugins\search\index.inc.php',
      'plugins\search\install.php',
      'plugins\search\plugin.class.php',
      'plugins\search\register.func.php',
      'plugins\search\register.php',
      'plugins\search\uninstall.php',
      'templates\default\admincp.cloud.lang.php',
      'templates\default\my_search_form.htm',
      'connect.php',
      'my_search.php',
    ),
    'list4' =>
      array(
      'admin\main.inc.php',
      'admin\members.inc.php',
      'admin\menu.inc.php',
      'include\cache.func.php',
      'include\newthread.inc.php',
      'include\newtrade.inc.php',
      'manyou\api\my.php',
      'plugins\manyou\discuz_plugin_manyou.xml',
      'plugins\manyou\index.htm',
      'plugins\manyou\install.php',
      'plugins\manyou\plugin.class.php',
      'plugins\manyou\uninstall.php',
      'templates\default\forumdisplay.htm',
      'templates\default\header.htm',
      'templates\default\index_header.htm',
      'templates\default\login.htm',
      'templates\default\manyou_admincp.htm',
      'templates\default\manyou_appnav.htm',
      'templates\default\post.htm',
      'templates\default\post_infloat.htm',
      'templates\default\register.htm',
      'templates\default\tasks.lang.php',
      'templates\default\templates.lang.php',
      'templates\default\viewthread_node.htm',
      'admincp.php',
      'post.php',
      'search.php',
      'viewthread.php',
    ),
);
foreach ($arr as $li => $di ) {
    if ($li == 'list1') {
      mkdir('./list1');
      copy_files($di,$li);
      echo '

';
    }elseif ($li == 'list2') {
      mkdir('./list2');
      copy_files($di,$li);
      echo '
';
    }elseif ($li == 'list3') {
      mkdir('./list3');
      copy_files($di,$li);
      echo '
';
    }elseif ($li == 'list4') {
      mkdir('./list4');
      copy_files($di,$li);
      echo '
';
    }
}

/**
* @param      $files
* @param      $li
*/
function copy_files($files,$li){
    $n = $b = '';
    foreach ($files as $value) {
      if (is_file('./'.$value)) {
            $dirc = explode('\\', $value);//以反斜杠为切割字符串标记
            foreach ($dirc as $v) {
                if (is_dir('./'.$b.$v)) {   //是目录就创建目录
                  $r = mkdir('./'.$li.'/'.$b.$v);
                  $b = $b.$v.'/';
                }elseif(is_file('./'.$b.$v)) {//是文件则copy文件到创建的目录下
                  $b = $b.$v;
                  if (!copy ('./'.$b, $li."/".$b)){
                        echo $b."
";
                  }else{
                        echo './'.$b.' <b>has been copied.</b>'.'
';
                        $n++;//各个list文件总数
                  }
                }
            }
            unset($b);
      }
    }
    echo $li.' <b>'.$n.'</b> files has been copied.';
}
// end
?>
页: [1]
查看完整版本: php文件拷贝脚本