autoload 경로 재 변경

kakao를 별도의 namespace로 분리
외부 class의 namespace 문제 해결
This commit is contained in:
2018-03-24 18:46:37 +09:00
parent dc507601f5
commit 037a29ad02
25 changed files with 44 additions and 241 deletions
+72
View File
@@ -0,0 +1,72 @@
<?php
namespace sammo;
class Lock {
private static $l = ROOT.'/d_log/lock.txt';
public static function Busy() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 1) return true;
else return false;
}
private static function LockFile() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 1) return false;
$fp = fopen(Lock::$l, 'w');
if(!flock($fp, LOCK_EX)) { return false; }
fwrite($fp, '1');
fclose($fp);
flock($fp, LOCK_UN);
return true;
}
private static function UnlockFile() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 0) return false;
$fp = fopen(Lock::$l, 'w');
if(!flock($fp, LOCK_EX)) { return false; }
fwrite($fp, '0');
fclose($fp);
flock($fp, LOCK_UN);
return true;
}
public static function Lock() {
/*
// 키 생성
$key = fileinode(Lock::$l);
// 뮤텍스 획득
$mutex = sem_get($key);
// 락 획득
sem_acquire($mutex);
*/
// 파일에 잠금 걸기
return Lock::LockFile();
}
public static function Unlock() {
// 파일에 잠금 풀기
$res = Lock::UnlockFile();
/*
// 락 해제
sem_release($mutex);
*/
return $res;
}
}