.htgroup 文件示例:
admin: user2
editor: user1 user3
writer: user3
class Htgroup { private $file = ''; private function write($groups = array()) { $str = ''; foreach ($groups as $group => $users) { $users_str = ''; foreach ($users as $user) { if (!empty($users_str)) { $users_str .= ' '; } $users_str .= $user; } $str .= "$group: $users_str\n"; } file_put_contents($this -> file, $str); } private function read() { $groups = array(); $groups_str = file($this -> file, FILE_IGNORE_NEW_LINES); foreach ($groups_str as $group_str) { if (!empty($group_str)) { $group_str_array = explode(': ', $group_str); if (count($group_str_array) == 2) { $users_array = explode(' ', $group_str_array[1]); $groups[$group_str_array[0]] = $users_array; } } } return $groups; } public function __construct($file) { if (file_exists($file)) { $this -> file = $file; } else { die($file." doesn't exist."); return false; } } public function addUserToGroup($username = '', $group = '') { if (!empty($username) && !empty($group)) { $all = $this -> read(); if (isset($all[$group])) { if (!in_array($username, $all[$group])) { $all[$group][] = $username; } } else { $all[$group][] = $username; } $this -> write($all); } else { return false; } } public function deleteUserFromGroup($username = '', $group = '') { $all = $this -> read(); if (array_key_exists($group, $all)) { $user_index = array_search($username, $all[$group]); if ($user_index !== false) { unset($all[$group][$user_index]); if (count($all[$group]) == 0) { unset($all[$group]); } $this -> write($all); } } else { return false; } } }
$groupHandler = new Htgroup('/home/myuser/.htgroup'); // Add user 'user1' to group 'admin' in .htgroup. Group will be automatically created if it doesn't exist. $groupHandler -> addUserToGroup('user1', 'admin'); // Delete user 'user1' from group 'admin' in .htgroup. Group will be automatically removed if it doesn't contain any users. $groupHandler -> deleteUserFromGroup('user1', 'admin');
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
4 몇 주 전ByDDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
3 몇 주 전ByDDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
4 몇 주 전ByDDD
<s> : 데드 레일 - 모든 도전을 완료하는 방법
1 몇 달 전ByDDD
Atomfall Guide : 항목 위치, 퀘스트 가이드 및 팁
1 몇 달 전ByDDD

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
