php:两个文件夹递归地比较,没有的文件自动复制过去
2014-05-20 09:22 xbread 阅读(422) 评论(0) 编辑 收藏 举报仿站时,通常默认模板文件和新的模板文件大部分都是一样的,下面代码可以用于比较文件是否缺失(和默认模板做比较)
如果缺失自动复制过去~~
1 <?php 2 /** 3 * used:新模板和default模板比较,如果新模板没有的文件自动从default模板复制过去 4 * @param type $defaultPath 默认模板路径 5 * @param type $templetPath 当前模板路径 6 * @return boolean 7 */ 8 $templetName = 'default2'; 9 $defaultPath = dirname(__FILE__) . '\res\front\default';//默认文件夹路径 10 $templetPath = substr($defaultPath,0,-7).$templetName; 11 checkFileAndCopy($defaultPath, $templetPath); 12 function checkFileAndCopy($defaultPath, $templetPath) { 13 if (!is_dir($defaultPath)) { 14 echo '默认模板路径没有存在!!!'; 15 return false; 16 } 17 $defaultPath = rtrim(str_replace('\\', '/', $defaultPath), '/'); 18 $templetPath = rtrim(str_replace('\\', '/', $templetPath), '/'); 19 $files = scandir($defaultPath); 20 foreach ($files as $file) { 21 if (in_array($file, array('.', '..'))) { 22 continue; 23 } 24 $fileFrom = $defaultPath . '/' . $file; 25 $fileTo = $templetPath . '/' . $file; 26 if (is_dir($fileFrom)) { 27 @mkdir($fileTo); 28 checkFileAndCopy($fileFrom, $fileTo); 29 } else { 30 if (file_exists($fileTo)) { 31 continue; 32 } else { 33 copy($fileFrom, $fileTo); 34 echo $templetPath . '/新增文件:' . $file . "<br />"; 35 } 36 } 37 } 38 return true; 39 } 40 ?>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!