2016年Linux认证基础知识:php做权限管理

在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的'程序吧!

假设有十进制数字10

获取10的二进制每一位的值:

(10 》 0) & 0x01 //最低位的值

(10》 1)& 0x01 //倒数第二位的值

假设有二进制数101

转10进制

= 0;

|= (1 《 0); //低位是1

|= (1 《 1);//高位是1

//中间位不是1

class Test{

//假设有权限管理系统。共有4种权限

private = array(

"P1",

"P2",

"P3",

"P4",

);

//获取用户权限的int值

public function getPowerInt({

= 0;

foreach(->power as => {

if(in_array(,{

|= (1 《

}

}

return ;

}

//根据int值获取权限列表

function getPowerByInt({

= array();

foreach(->power as => {

= ( 》 & 0x01;

}

return ;

}

}

//假设现在有个用户拥有P1,P4权限

= array('P1','P4');

= new Test();

//查看用户权限的int值

var_dump(->getPowerInt(//输出9

//注意顺序为倒序如果有个用户是0101即只有P1,P3两个权限,即十进制5,

//输出权限列表

var_dump(->getPowerByInt(5));

//输出array(4) {

// ["P1"]=>

// int(1)

// ["P2"]=>

// int(0)

// ["P3"]=>

// int(1)

// ["P4"]=>

// int(0)

// }

//----------------如果权限不够用了,需要新增权限--------

//倒序。新增在高位

//修改

// = array(

// "P1",

// "P2",

// "P3",

// "P4",

// "P5",

// );

// 测试新结果 :老权限不受影响。老用户默认没有新权限

// 所以可以在设计之初认为最低位为最高权限,all.

// var_dump(->getPowerInt(//输出9

// var_dump(->getPowerByInt(5));

//输出array(4) {

// ["P1"]=>

// int(1)

// ["P2"]=>

// int(0)

// ["P3"]=>

// int(1)

// ["P4"]=>

// int(0)

// ["P5"]=>

// int(0)

// }

【2016年Linux认证基础知识:php做权限管理】相关文章:

权限认证php,2016年Linux认证基础知识:php做权限管理相关推荐

  1. 2016年linux认证考试,2016年Linux认证考试模拟练习及答案

    2016年Linux认证考试模拟练习及答案 下面哪个命令能去掉主引导信息里的内容(选择最合适的答案) a.fdisk /mbr b.format /mbr c.mbr/format d.mbr/rep ...

  2. 2016年linux认证考试,2016年Linux认证考试复习要点辅导

    2016年Linux认证考试复习要点辅导 renice 功能说明:调整优先权. 语 法:renice [优先等级][-g ...][-p ...][-u ...] 补充说明:renice指令可重新调整 ...

  3. linux 以下命令对中正确的是什么,2016年Linux认证模拟真题及答案

    2016年Linux认证模拟真题及答案 一.选择题. 1.以下命令对中,正确的是: B . A ls和sl B cat和tac C more和erom D exit和tixe cat是显示文件夹的命令 ...

  4. linux服务器配置试卷,2016年Linux认证模拟练习题及答案

    2016年Linux认证模拟练习题及答案 1.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,m ...

  5. 2016年linux认证,2016年Linux认证考试要点

    2016年Linux认证考试要点 Internet上最热门的服务之一就是WWW(World Wide Web)服务,Web服务已经成为很多人在网上查找.浏览信息的主要手段,它是一种交互式图形界面的服务 ...

  6. 2016年linux认证,2016年Linux认证考试练习题及答案

    2016年Linux认证考试练习题及答案 一.单选题 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/ ...

  7. linux创建用户到指定分区,2016年Linux认证考试试题及答案

    2016年Linux认证考试试题及答案 一.选择题 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根 ...

  8. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  9. Linux系统基础知识

    Linux系统基础知识 1.在Linux系统中,以文件方式访问设备.   2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...

最新文章

  1. 计算机书籍-C++并发编程实战
  2. 茶觉 | “治愈”的白牡丹
  3. 【转】Linux定时任务系统Cron入门
  4. 0经验跨行,我怎么拿到谷歌offer的?
  5. ArrayUtils的简单学习
  6. 涉及CDI和JSF的过期对话的定制错误页面
  7. Spring Cloud 参考文档(Spring Cloud Context:应用程序上下文服务)
  8. flask框架(四):通过局域网访问网站
  9. Python爬虫的智能化解析——Diffbot
  10. 12,mac phpstorm xdebug
  11. 精通SQL的30张简图
  12. 眼睛却可以睁开,口干胸闷,不论自己…
  13. Java爬虫彼岸桌面壁纸(使用httpClient+Jsoup)
  14. HTML层级设置,HTML----元素层级
  15. vscode 格式化后函数后空格被删
  16. 天池竞赛 | 中医药领域的问题生成冠军方案
  17. 项目部署到SVN上以及SVN修改项目名称详细步骤
  18. shell编程之iptables
  19. 新浪财经沪深300指数期权和商品期权行情接口
  20. ibm服务器 t系列,IBMT

热门文章

  1. Exchange Server 2000/2003 中设定超过2G的邮箱图解
  2. centos输入正确的账号和密码登陆不进去
  3. web页面渲染(二)
  4. hihoCoder1040 矩形判断
  5. Reids实战(7)数据类型五sorted sets
  6. Spring component-scan类扫描加载过程
  7. maven入门(1-3)maven的生命周期
  8. zabbix企业应用之报表功能
  9. 《裂变》作者爆料:欺世盗名者绝非唐骏一人
  10. 内网穿透从搭建到溯源