PHP类用来解析。htgroup文件
用户管理:
编辑:user1用户2
作者:user3
复制代码代码如下所示:
类htgroup {
私人$文件=;
私有函数写入($ =数组()){
$ =;
foreach(美元美元美元组组用户){
users_str美元=;
foreach(合用户的用户名){
如果(!空(美元users_str)){
users_str美元=;
}
users_str美元=用户名;
}
$str =$组:users_str美元;
}
file_put_contents($,文件,$str);
}
私有函数读取(){
$ =数组();
groups_str美元(美元=文件,文件,file_ignore_new_lines);
foreach(groups_str美元美元group_str){
如果(!空(美元group_str)){
group_str_array美元=爆炸(':',group_str美元);
If (count ($group_str_array) = = 2) {
users_array美元=爆炸('',group_str_array美元{ 1 });
$组{ $ group_str_array { 0 } } = $ users_array;
}
}
}
返回$组;
}
公共功能__construct(文件){
如果(file_exists(文件)){
此文件;
{人}
死亡(文件)。不存在。;
返回false;
}
}
公共功能addusertogroup(用户名为美元,美元组){
如果(!空($用户名)!空($组){
全部$ = $ >(读取);
如果(isset(合所有{ $组})){
如果(!in_array(美元美元美元集团所有用户名,{ })){
$ all;
}
{人}
$ all;
}
这写$(全部);
{人}
返回false;
}
}
公共功能deleteuserfromgroup(用户名为美元,美元组){
全部$ = $ >(读取);
如果(array_key_exists(合组,所有美元)){
user_index = array_search美元(美元美元美元的用户名,所有{组});
如果(user_index美元!= false){
撤消(合所有{ } { } $组user_index美元);
如果(计数(所有$ {组})= = 0){
撤消(合所有{ $组});
}
这写$(全部);
}
{人}
返回false;
}
}
}
复制代码代码如下所示:
grouphandler美元=新htgroup( / / /家中。htgroup);
添加user'user1'to group'admin ' / in.htgroup。如果不存在,组将自动创建。
grouphandler美元-> addusertogroup('user1 ','admin);
删除user'user1'from group'admin ' / in.htgroup。如果不包含任何用户,则将自动删除组。
grouphandler美元-> deleteuserfromgroup('user1 ','admin);