php后台多用户权限组思路与实现程序代码分享
adminconfig.PHP 这是后台系统中所有文件权限配置。
fun.PHP 这是一个功能函数
left.PHP 网站后台根据用户登录的ID来加载相对应的功能菜单
op.PHP 调用adminconfig.PHP 默认权限文件
opsava.PHP 保存用户权限成一个PHP文件
好了我们先来看看 fun.PHP文件吧。
<div class="codetitle"><a style="CURSOR: pointer" data="87463" class="copybut" id="copybut87463" onclick="doCopy('code87463')"> 代码如下:
<div class="codebody" id="code87463">
<?
function findsub($keys,$userid='abc' ) //此
函数重要就是为了
调用用户的权限信息
{
include('user/'.$userid.'.
PHP');
foreach($bb as $key=>$submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
//下面为
生成用户的
PHP权限
文件 //写入
function cache_write($name,$var,$values) {
$cachefile = 'op/www.hzhuti.com/'.$name.'.
PHP';
$cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>";
if(!swritefile($cachefile,$cachetext))
{
exit("File: $cachefile write error.");
}
}
//数组转换成字串
function arrayeval($array,$level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
$space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key => $val) {
$key = is_string($key) ? '''.add
cslashes($key,''\').''' : $key;
$val = !is_array($val) && (!preg_match("/^-?d+$/",$val) || strlen($val) > 12) ? '''.add
cslashes($val,''\').''' : $val;
if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval($val,$level + 1);
} else {
$evaluate .= "$comma$key => $val";
}
$comma = ",n$space";
}
$evaluate .= "n$space)";
return $evaluate;
}
//写入
文件 function swritefile($filename,$writetext,$openmod='w') {
if(@$fp = fopen($filename,$openmod)) {
flock($fp,2);
fwrite($fp,$writetext);
fclose($fp);
return true;
} else {
exit("File: $filename write error.");
return false;
}
}
?>
.