·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

discuz开发插件将插件特定目录移动到论坛指定路径并判断论坛指定路径是否存在旧文件并覆盖更新的写法语句

176 0
发表于 2023-5-15 17:02:24 | 查看全部 阅读模式 | Chrome| Windows 10

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
discuz开发插件将插件特定目录移动到论坛指定路径并判断论坛指定路径是否存在旧文件并覆盖更新的写法语句:

应用到 @rename 重命名函数,接受两个参数,第一个参数是要重命名的文件或目录路径,第二个参数是新的文件或目录路径。在这里,例如第一个参数是 `DISCUZ_ROOT.'./source/plugin/chajian/mulu1'`,即要重命名的目录的路径;第二个参数是 `DISCUZ_ROOT.'./data/mulu2'`,即新的目录路径。
语句:
  1. @rename(DISCUZ_ROOT.'./source/plugin/chajian/mulu1',DISCUZ_ROOT.'./data/mulu2');
复制代码
这段代码的作用是将 ./source/plugin/chajian/mulu1 目录重命名为 ./data/mulu2 目录,并将其移动到 Discuz data目录下。这可能是为了将插件目录移动到更合适的位置,或者为了更方便地访问插件目录中的文件。


第二个操作:判断是否存在旧文件并覆盖更新
定义目标目录位置:
  1. delDirAndFile(DISCUZ_ROOT.'./data/mulu2');
复制代码
删除指定目录及其下的所有文件和子目录,可以用于清空缓存或临时文件目录等场景:

  1. function delDirAndFile($path, $delDir = true) {
  2.         if (is_array($path)) {
  3.                 foreach($path as $subPath) {
  4.                         delDirAndFile($subPath, $delDir);
  5.                 }
  6.         }
  7.         if (is_dir($path)) {
  8.                 $handle = opendir($path);
  9.                 if ($handle) {
  10.                         while (false !== ($item = readdir($handle))) {
  11.                                 if ($item != "." && $item != "..") {
  12.                                         is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
  13.                                 }
  14.                         }
  15.                         closedir($handle);
  16.                         if ($delDir) {
  17.                                 return rmdir($path);
  18.                         }
  19.                 }
  20.         } else {
  21.                 if (file_exists($path)) {
  22.                         return unlink($path);
  23.                 } else {
  24.                         return false;
  25.                 }
  26.         }
  27. }
复制代码

我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.139.83.57,60.188.66.74,GMT+8, 2024-5-21 07:24 , Processed in 0.157698 second(s), 72 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表