找回密码
 注册加入

扫一扫,极速登录

QQ登录

只需一步,快速开始

搜索
查看: 7892|回复: 1

php文件拷贝脚本

[复制链接]
发表于 2012-12-16 17:26:25 | 显示全部楼层 |阅读模式
最近在进行大量的文件对比工作,其中需要进行文件的提取,知道了文件列表后,一个一个复制起来很麻烦,写了个脚本,代码如下:
  1. <?php

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

  4. $arr = array(
  5.     'list3' =>
  6.         array(
  7.         'admin\cloud\cloud_connect.php',
  8.         'admin\cloud\cloud_doctor.php',
  9.         'admin\cloud\cloud_manyou.php',
  10.         'admin\cloud\cloud_search.php',
  11.         'admin\cloud\cloud_siteinfo.php',
  12.         'admin\cloud\cloud_stats.php',
  13.         'admin\cloud\cloud_union.php',
  14.         'admin\menu\menu_cloud.php',
  15.         'admin\cloud.inc.php',
  16.         'api\manyou\class\APIErrorResponse.php',
  17.         'api\manyou\class\APIResponse.php',
  18.         'api\manyou\class\Application.php',
  19.         'api\manyou\class\Cloud.php',
  20.         'api\manyou\class\CloudClient.php',
  21.         'api\manyou\class\Common.php',
  22.         'api\manyou\class\Connect.php',
  23.         'api\manyou\class\Credit.php',
  24.         'api\manyou\class\Feed.php',
  25.         'api\manyou\class\Friends.php',
  26.         'api\manyou\class\MiniBlog.php',
  27.         'api\manyou\class\MyBase.php',
  28.         'api\manyou\class\NewsFeed.php',
  29.         'api\manyou\class\Notifications.php',
  30.         'api\manyou\class\Photo.php',
  31.         'api\manyou\class\Profile.php',
  32.         'api\manyou\class\Request.php',
  33.         'api\manyou\class\Search.php',
  34.         'api\manyou\class\Site.php',
  35.         'api\manyou\class\Union.php',
  36.         'api\manyou\class\UserApplication.php',
  37.         'api\manyou\class\Users.php',
  38.         'api\manyou\channel.htm',
  39.         'api\manyou\cloud_channel.htm',
  40.         'api\manyou\cloud_iframe.js',
  41.         'api\manyou\index.htm',
  42.         'api\manyou\my.php',
  43.         'api\my.php',
  44.         'connect\connect_config.php',
  45.         'connect\connect_feed.php',
  46.         'connect\connect_logging.php',
  47.         'connect\connect_login.php',
  48.         'connect\connect_register.php',
  49.         'connect\connect_share.php',
  50.         'connect\connect_user.php',
  51.         'images\admincp\cloud\btn.png',
  52.         'images\admincp\cloud\btn_push.png',
  53.         'images\admincp\cloud\cloud.css',
  54.         'images\admincp\cloud\cloud.js',
  55.         'images\admincp\cloud\editor_bg.png',
  56.         'images\admincp\cloud\editor_btn.png',
  57.         'images\admincp\cloud\fwin_menu.jpg',
  58.         'images\admincp\cloud\ico_d.png',
  59.         'images\admincp\cloud\image_s.gif',
  60.         'images\admincp\cloud\jquery.min.js',
  61.         'images\admincp\cloud\line.png',
  62.         'images\admincp\cloud\message.png',
  63.         'images\admincp\cloud\pn.png',
  64.         'images\admincp\cloud\pt.png',
  65.         'images\admincp\cloud\qqgroup.css',
  66.         'images\admincp\cloud\qqgroup.js',
  67.         'images\admincp\cloud\qun_bg.png',
  68.         'images\admincp\cloud\qun_btn.png',
  69.         'images\admincp\cloud\qun_op.png',
  70.         'images\admincp\cloud\qun_op_list.png',
  71.         'images\admincp\cloud\qun_op_top.png',
  72.         'images\admincp\cloud\right.gif',
  73.         'images\admincp\cloud\thumb.png',
  74.         'images\admincp\cloud\wrong.gif',
  75.         'images\default\connect_config_mark.png',
  76.         'images\default\connect_qq.gif',
  77.         'images\default\pengyou.png',
  78.         'images\default\qq_bind.gif',
  79.         'images\default\qq_bind_small.gif',
  80.         'images\default\qq_login.gif',
  81.         'images\default\qzone.gif',
  82.         'images\default\weibo.png',
  83.         'include\tasks\connect_bind.cfg.php',
  84.         'include\tasks\connect_bind.inc.php',
  85.         'include\cloud.func.php',
  86.         'include\cloud_plugin.func.php',
  87.         'include\connect.func.php',
  88.         'plugins\cloudstats\cloudstats.class.php',
  89.         'plugins\cloudstats\discuz_plugin_cloudstats.xml',
  90.         'plugins\cloudstats\setting.inc.php',
  91.         'plugins\qqconnect\templates\extend_common.css',
  92.         'plugins\qqconnect\templates\extend_module.css',
  93.         'plugins\qqconnect\templates\index.htm',
  94.         'plugins\qqconnect\templates\login.htm',
  95.         'plugins\qqconnect\templates\module.htm',
  96.         'plugins\qqconnect\templates\register.htm',
  97.         'plugins\qqconnect\templates\share.htm',
  98.         'plugins\qqconnect\templates\spacecp.htm',
  99.         'plugins\qqconnect\admin.inc.php',
  100.         'plugins\qqconnect\connect.class.php',
  101.         'plugins\qqconnect\discuz_plugin_qqconnect.xml',
  102.         'plugins\qqconnect\index.htm',
  103.         'plugins\qqconnect\install.php',
  104.         'plugins\qqconnect\logo.inc.php',
  105.         'plugins\qqconnect\spacecp.inc.php',
  106.         'plugins\search\misc\api_form_bg_center.gif',
  107.         'plugins\search\misc\api_form_bg_left.gif',
  108.         'plugins\search\misc\api_form_bg_right.gif',
  109.         'plugins\search\misc\api_form_search.gif',
  110.         'plugins\search\misc\api_form_submit.gif',
  111.         'plugins\search\misc\api_form_submit_forum.gif',
  112.         'plugins\search\misc\form.css',
  113.         'plugins\search\common.php',
  114.         'plugins\search\discuz_plugin_search.xml',
  115.         'plugins\search\form.inc.php',
  116.         'plugins\search\index.html',
  117.         'plugins\search\index.inc.php',
  118.         'plugins\search\install.php',
  119.         'plugins\search\plugin.class.php',
  120.         'plugins\search\register.func.php',
  121.         'plugins\search\register.php',
  122.         'plugins\search\uninstall.php',
  123.         'templates\default\admincp.cloud.lang.php',
  124.         'templates\default\my_search_form.htm',
  125.         'connect.php',
  126.         'my_search.php',
  127.     ),
  128.     'list4' =>
  129.         array(
  130.         'admin\main.inc.php',
  131.         'admin\members.inc.php',
  132.         'admin\menu.inc.php',
  133.         'include\cache.func.php',
  134.         'include\newthread.inc.php',
  135.         'include\newtrade.inc.php',
  136.         'manyou\api\my.php',
  137.         'plugins\manyou\discuz_plugin_manyou.xml',
  138.         'plugins\manyou\index.htm',
  139.         'plugins\manyou\install.php',
  140.         'plugins\manyou\plugin.class.php',
  141.         'plugins\manyou\uninstall.php',
  142.         'templates\default\forumdisplay.htm',
  143.         'templates\default\header.htm',
  144.         'templates\default\index_header.htm',
  145.         'templates\default\login.htm',
  146.         'templates\default\manyou_admincp.htm',
  147.         'templates\default\manyou_appnav.htm',
  148.         'templates\default\post.htm',
  149.         'templates\default\post_infloat.htm',
  150.         'templates\default\register.htm',
  151.         'templates\default\tasks.lang.php',
  152.         'templates\default\templates.lang.php',
  153.         'templates\default\viewthread_node.htm',
  154.         'admincp.php',
  155.         'post.php',
  156.         'search.php',
  157.         'viewthread.php',
  158.     ),
  159. );
  160. foreach ($arr as $li => $di ) {
  161.     if ($li == 'list1') {
  162.         mkdir('./list1');
  163.         copy_files($di,$li);
  164.         echo '

  165. ';
  166.     }elseif ($li == 'list2') {
  167.         mkdir('./list2');
  168.         copy_files($di,$li);
  169.         echo '
  170. ';
  171.     }elseif ($li == 'list3') {
  172.         mkdir('./list3');
  173.         copy_files($di,$li);
  174.         echo '
  175. ';
  176.     }elseif ($li == 'list4') {
  177.         mkdir('./list4');
  178.         copy_files($di,$li);
  179.         echo '
  180. ';
  181.     }
  182. }

  183. /**
  184. * @param      $files
  185. * @param      $li
  186. */
  187. function copy_files($files,$li){
  188.     $n = $b = '';
  189.     foreach ($files as $value) {
  190.         if (is_file('./'.$value)) {
  191.             $dirc = explode('\\', $value);//以反斜杠为切割字符串标记
  192.             foreach ($dirc as $v) {
  193.                 if (is_dir('./'.$b.$v)) {   //是目录就创建目录
  194.                     $r = mkdir('./'.$li.'/'.$b.$v);
  195.                     $b = $b.$v.'/';
  196.                 }elseif(is_file('./'.$b.$v)) {  //是文件则copy文件到创建的目录下
  197.                     $b = $b.$v;
  198.                     if (!copy ('./'.$b, $li."/".$b)){
  199.                         echo $b."
  200. ";
  201.                     }else{
  202.                         echo './'.$b.' <b>has been copied.</b>'.'
  203. ';
  204.                         $n++;//各个list文件总数
  205.                     }
  206.                 }
  207.             }
  208.             unset($b);
  209.         }
  210.     }
  211.     echo $li.' <b>'.$n.'</b> files has been copied.';
  212. }
  213. // end
  214. ?>
复制代码
您需要登录后才可以回帖 登录 | 注册加入  

本版积分规则

Archiver|手机版|小黑屋|Discuz!扩展中心 ( 浙ICP备14042422号-1 )|网站地图QQ机器人

GMT+8, 2024-4-19 09:18 , Processed in 0.146847 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表