您现在的位置:中国下载站学院中心网络编程PHP教程PHP基础教程 → 文章列表

再述权限管理

作者:佚名  来源:不详  发布时间:2007-4-14 11:48:31   

减小字体 增大字体

 
 
  我这里说到的权限管理办法是一个普遍采用的方法,主要是使用到"位运行符"操作,& 位与运算符、| 位或运行符。参与运算的如果是10进制数,则会被转换至2进制数参与运算,然后计算结果会再转换为10进制数输出。

  它的权限值是这样的

  2^0=1,相应2进数为"0001"(在这里^我表示成"次方",即:2的0次方,下同)

  2^1=2,相应2进数为"0010"

  2^2=4,相应2进数为"0100"

  2^3=8,相应2进数为"1000"

  要判断一个数在某些数范围内就可以使用 & 运算符(数值从上面的表中得来)

  如:7=4|2|1 (你也可以简单理解成7=4+2+1)

  用 & 来操作,可以知道7&4、7&2、7&1都是真的,而如果7&8则是假的

  &、| 不熟悉的就要去查查手册,看看是怎么用的了

  下面来看例子吧:

  <?
   // 赋予权限值-->删除:8、上传:4、写入:2、只读:1
   define("mDELETE",8);
   define("mUPLOAD",4);
   define("mWRITE",2);
   define("mREAD",1);
   //vvvvvvvvvvvvv使用说明vvvvvvvvvvvvv
   //部门经理的权限为(假设它拥有此部门的所有权限),| 是位或运行符,不熟悉的就查查资料
   echo mDELETE|mUPLOAD|mWRITE|mREAD ,"<br>";// 相当于是把上面的权限值加起来:8+4+2+1=15
   // 设我只有 upload 和 read 权限,则
   echo mUPLOAD|mREAD ,"<br>";//相当于是把上传、只读的权限值分别相加:4+1=5
   /*
   *赋予它多个权限就分别取得权限值相加,又比如某位员工拥有除了删除外的权限其余都拥有,那它的权限值是多少?
   *应该是:4+2+1=7
   *明白了怎么赋值给权限吧?
   */
   //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   //判断某人的权限可用,设权限值在$key中
   /*
   *判断权限用&位与符,
   */
   $key = 13;//13=8+4+1
   if($key & mDELETE) echo "有删除权限<br>"; //8
   if($key & mUPLOAD) echo "有上传权限<br>"; //4
   $a=$key & mWRITE; echo "有写权限<br>".$a; //无此权限
   if($key & mREAD) echo "有读权限<br>";   //1
?>


在百度中搜索更多再述权限管理相关网页 转贴于:中国下载站

  • 上一篇文章:搭建 Windows 下基于 Eclipse 的 PHP 开发环境
  • 下一篇文章:PHPlet 在 Windows 下的安装
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!