最近在学习dedecms的源代码,看到了一个file函数的应用。在权限管理页面,权限页面内容全部由txt文件记录,用file函数读取txt内容,再将内容转换成html表现形式。是个不错的内容与逻辑层分离的解决方案。
file()-- 把整个文件读入一个数组中;
<?php
$start = 0;
$k = 0;
$gouplists = file(dirname(__FILE__).'/common/grouplist.txt');
foreach($gouplists as $line){
  $line = trim($line);
        if($line=="") continue;
        if(ereg("^>>",$line)){
                if($start>0) echo "                    </td></tr>\r\n";
                $start++;
                $lhead = "
                <tr>    
                <td height='25' colspan='2' bgcolor='#F9FAF3'>{$start}、".str_replace('>>','',$line)."</td></tr>
                <tr><td height='25' colspan='2'>
                ";    
                echo $lhead;
        }
        else if(ereg("^>",$line))
        {
                $ls = explode('>',$line);
                $tag = $ls[1];
                $tagname = str_replace('[br]','<br>',$ls[2]);
                if(!ereg('<br>', $tagname) )    
      $tagname .= "<font color='#888888'>($tag)</font>";
                else    
      $tagname = str_replace('<br>', "<font color='#888888'>($tag)</font><br />", $tagname);
                echo "                      <input name='purviews[]' type='checkbox' class='np' id='purviews$k' value='$tag'".(getLimit($Mssql,$tag,$ss)?" checked":"").">$tagname\r\n";
                $k++;
        }
}
$start++;
?>
txt文件的存放格式:
>>我的工作
>11>业务组工作内容添加
>12>业务组工作内容修改
>13>业务组工作内容删除
>14>业务组工作内容查看
>15>业务组工作内容审核
>16>业务组工作内容失效
>>项目
>21>项目人员分工
>22>项目人员日程安排
>23>项目查看
>>业务分解表
>31>年度目标分解表创建
>32>年度目标分解表修改
>33>年度目标分解表提交
>34>年度目标分解表审批
>35>年度目标分解表退回
>36>年度目标分解表查看[br]
>41>未来三月目标分解表创建
>42>未来三月目标分解表修改
>43>未来三月目标分解表提交
>44>未来三月目标分解表审批
>45>未来三月目标分解表退回
>46>未来三月目标分解表查看[br]
>51>项目成本分析表创建
>52>项目成本分析表修改
>53>项目成本分析表提交
>54>项目成本分析表审批
>55>项目成本分析表退回
>56>项目成本分析表查看
>57>项目成本分析表删除[br]
>>系统设置
>61>权限修改

转载于:https://blog.51cto.com/tider/302773

php file函数在内容与底层逻辑分离的应用相关推荐

  1. 转载|网络编程中阻塞式函数的底层逻辑

    逛知乎看到的,觉得写的挺透彻的,转载一下,原文链接:Unix网络编程里的阻塞是在操作系统的内核态创建一个线程来死循环吗? 原文以阻塞式的recv函数作为讲解,但是所有阻塞式的api底层逻辑基本相通. ...

  2. C语言的底层逻辑剖析函数篇(其二),0基础搞定函数,初识函数递归,超详解

    这里写目录标题 C语言的底层逻辑剖析函数篇(其二),0基础搞定函数,初识函数递归,超详解 开篇语 函数的调用(嵌套调用和链式访问) 1.嵌套调用 2.函数的链式访问 函数的声明和定义 函数声明和定义分 ...

  3. PPTV百亿内容开放战略,矛盾表象下的底层逻辑是什么?

    大约两周前PPTV给我发来了上海新品发布会的邀请函,最初我以为这会是一场司空见惯的硬件发布会,剧本大致是这样的:讲讲配置.谈谈内容.突出卖点,最后公布价格.不过,昨天的发布会却出人意料:这场发布会的重 ...

  4. 读书 | IT人如何直击本质洞察底层逻辑?

    [好书共读]| 作者/Edison Zhou 作为IT技术人,我们不仅要精进技术,也要在技术之外修炼自己的软能力.本质思考,是一种直击事物本质的能力,是思考"思考的方法",是一切思 ...

  5. 传统企业如何做数字化转型?弄懂这3大底层逻辑你就懂了

    2022年传统企业发展的关键词,不是资本,不是股市,不是楼市,不是品牌,而是五个字,数字化转型. 但是碰到这五个字,传统企业又不敢转.不会转.不想转.究其根本,主要的原因是传统企业不了解数字化转型的底 ...

  6. python底层与机器底层关系_起底 Python 的底层逻辑

    原标题:起底 Python 的底层逻辑 本文配图来自美剧<我们窃取秘密:维基解密的故事>. 文 | 图灵社区 推荐 | 编程派公众号(ID:codingpy) 01 一次纯粹的hackin ...

  7. 图像识别(九)| 彻底搞懂SoftMax分类的底层逻辑

    很多同学在做深度学习时,都会遇到难以理解的算法,SoftMax肯定是其中一个.初学者大都对它一知半解,只知道SoftMax可以用来做分类,输出属于某个类别的概率. 但是,为什么要用SoftMax呢?这 ...

  8. PHP中file() 函数和file_get_contents() 函数的区别

    PHP中file() 函数和file_get_contents() 函数的作用都是将整个文件读入某个介质,其主要区别就在于这个介质的不同. file() 函数是把整个文件读入一个数组中,然后将文件作为 ...

  9. 洞察设计模式的底层逻辑

    简介: 设计模式是开发同学经常聊到的话题,也经常被用到实际的开发项目中,熟练的人可以做到信手拈来,不熟悉的人陷入苦思冥想中.笔者认为,不仅仅要掌握设计模式的用法,更要洞察设计模式的底层逻辑,只有那样, ...

最新文章

  1. Android Studio问题集锦
  2. Pimple - 一个简单的 PHP 依赖注入容器
  3. 160个Crackme028之对抗花指令
  4. 【算法】非极大值抑制原理、流程和代码
  5. 记一个鼠标略过时候的css动画
  6. [Python设计模式] 第1章 计算器——简单工厂模式
  7. 关于部署传统的Dynamic Web项目
  8. 耦合式是什么意思_什么是微服务?一篇文章让你彻底搞明白
  9. linux内核那些事之buddy(anti-fragment机制)(4)
  10. ftk学习记(进度条篇)
  11. 解决Ubuntu刚装好的时候su命令密码错误的问题
  12. 系统学习NLP(十七)--文本相似度
  13. 联想电脑BIOS失败教程
  14. (2015秋) 团队博客及分组情况
  15. qq服务器上的文件删除后如何恢复,QQ文件失效怎么恢复(过期的QQ文件如何申请恢复)...
  16. LOL自制皮肤0-介绍我自己
  17. oracle:使用cmd命令在远程oracle服务器上执行sql语句
  18. 攻防世界_江苏工匠杯_MISC_看雪看雪看雪
  19. conda错误this environment is insistent,please check the package plan carefully
  20. 剑指offer答案 c语言,剑指offer之C语言不修改数组找出重复的数字

热门文章

  1. 指定服务器无效,安装sqlserver2008r2 服务器配置,服务帐户配置出错,提示Sql server服务指定的凭据无效...
  2. Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)
  3. impala 本年格式化时间_hive,hbase,impala之间的对比
  4. swift -charts框架雷达图
  5. 荣耀:想成功要敢于推翻重来
  6. 简述 clearfix 的原理
  7. CSS将长文字换行的方法 (转)
  8. 数据中心防雷SPD技术漫谈
  9. python 多线程日志切割+日志分析
  10. 杭电 hdu 2096