목록PHP/PHP (6)
규도자 개발 블로그
내가 만든 PHPCronManager를 누가 써주다 심심해서 깃허브에 내 아이디인 jujumilk3를 써봤다. 다른 건 평소와 다를 바 없었는데 Wikis에 내 아이디가 하나 검색됐다. 난 위키를 작성한 적이 없을 뿐더러 심지어는 this-programmer라는 닉네임을 남겼겠지 jujumilk3이라는 내 아이디를 남길 일은 더더욱 없을텐데 하는 마음으로 들어가보니 웬걸 스페인의 망한듯 보이는 인터넷 보안회사의 the-fraud-explorer라는 프로젝트에 내 PHPCronManager를 사용하고 있었다. 그냥 너무 신기해서 벙쪘다. 무엇보다 궁금한 건 이걸 어떻게 알고 썼는가 하는 점이다. 끄흠... 아무튼 신기한 경험을 하여 기록을 남겨둔다. 만약 이런 이름모를 스페인 보안회사가 떠갔을 정도면 다른..
php 숫자 앞에 0 붙이는 함수 function makeformattedNumber(int $number, int $length = 3) : string { return sprintf("%0{$length}d", $number); } echo makeformattedNumber(30); //it returns 030 echo ' '; echo makeformattedNumber(7, 2); //it returns 07 echo ' '; echo makeformattedNumber(365, 6); //it returns 000365 echo ' '; 필요해서 만들어봤다.
PHP는 변수의 선언 여부를 체크하는 방법이 아주 많다. 내장 함수도 많을 뿐더러 ==나 ===까지. PHP가 코드뭉텅이라는 오명을 갖는 이유 중 하나이기도 한데 그만큼 true false를 검사하는 조건문을 뭘 써야할지 고민이 될 때가 있다. 그럴 때 참고하면 좋은 테이블이다. None은 변수가 선언되지 않은 상태이다. 위는 그림파일이고 $var = None Array() Null '' false 0 '0' ' ' 'text' true 1 '1' empty($var) O O O O O O O X X X X X is_null($var) O X O X X X X X X X X X isset($var) X O X O O O O O O O O O $var X X X X X X X O O O O O $var =..
html태그와 함께 안에 있는 content도 날려버리는 php함수 function strip_tags_content($text, $tags = '', $invert = FALSE) { preg_match_all('//si', trim($tags), $tags); $tags = array_unique($tags[1]); if(is_array($tags) AND count($tags) > 0) { if($invert == FALSE) { return preg_replace('@.*?@si', '', $text); } else { return preg_replace('@.*?@si', '', $text); } } elseif($invert == FALSE) { return preg_replace('@.*?@..
php의 단점을 발견하였다. 바로 쓰레드에 대한 부분이다. 큰 부하를 처리하는 php코드를 일정시간마다 실행해야해서 해당 php코드를 실행하고 있을 때 다른 사용자들에 대해서 서비스품질저하를 방지하기 위해 php로 구현하는 쓰레드와 관련하여 많은 것들을 찾아봤는데... php공식문서에서 단호하게 안 된다고 정의했다. 심지어 현재 서비스 중인 플랫폼은 전부 7.0.x대의 php에서 돌아가고 있다. 뭐 애초에 사용할 수도 없지만 말이다... 그래서 관련 자료를 더 찾아보니 애초에 php라는 언어 자체가 싱글스레드로 실행되는 것을 전제로 만든 언어라고 한다. 관련 자료를 같이 첨부하려 했는데 다시 찾진 못하겠다. 해서 멀티스레딩이 필요할 때 사용할 수 있기 pthread라는 것이 만들어져있긴 한데 역시나 아직..
PHP로 리눅스(linux) 크론(cronjob, crontab) 제어하기 2018-12-19CentOS에서는 정상적으로 작동하였으나 우분투에서는 에러를 일으켜 명령어가 좀 더 안정적인 것으로 변경됨. 자세한 변경내역 →깃허브반복된 작업을 알아서 실행해주는 crontab. 로그를 쌓을 때나, 자동 갱신 시스템을 만들 때 등 은근히 많이 쓰이게 된다. 하지만 crontab을 수정할 때마다 항상 불편했는데... 보통 iptables나 dbms처럼 명령어를 통해 cronjob을 등록하고 삭제하는 등의 행동은 수행할 수가 없었다. 항상 crontab -e라는 명령어를 통해 텍스트에디터형식으로 열고 편집하고 저장하고 하는 식으로 작업했지. 그게 불편해서 php에서 원하는 모든 cronjob행동을 제어할 수 있게 ..