본문 바로가기

IT/PHP

[CRAWL] Simple Html Dom Parser 에서 자식노드 가져오기 Simple Html Dom Parser 에서 자식노드 가져오기 $uid = $html->find("span[class=entry-author]", 0)->childNodes(0)->childNodes(0)->innertext; 더보기
[CRAWL] Simple HTML DOM wildcard in attribute Simple HTML DOM wildcard in attribute [attribute] - Matches elements that have the specified attribute.[!attribute] - Matches elements that don't have the specified attribute.[attribute=value] - Matches elements that have the specified attribute with a certain value.[attribute!=value] - Matches elements that don't have the specified attribute with a certain value.[attribute^=value] - Matches ele.. 더보기
php mongo driver 설치하기 1. 우선 pecl 설치가 되어있는지 확인한다. - # pecl version - # pear version 2. pecl 설치 - # rpm -qa | grep php-pear - # yum install php-pear 3. openssl-devel 설치 - # yum install openssl-devel 4. mongo driver 설치 - # sudo pecl install mongo 5. configure 설정 - 아래 문자를 /etc/php.ini 하단에 추가 - extension=mongo.so 6. 아파치 재시작 더보기
한글, 영문, 숫자만 남기기 === 한글, 영문, 숫자만 남긴다 === $txt= trim(preg_replace('/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9a-zA-Z\s]/u', " ", $txt));$txt= trim(str_replace(array("\n"), "", $txt)); === 공백 두개 -> 한개로 수정 === $txt= preg_replace("/(\s){2,}/", '$1', $txt); 더보기
메모리 부족 현상 (allowed memory size of 134217728 bytes..) PHP의 메모리 제한 기본값은 128MB[1]이다.데이터가 너무너무 많을 경우 PHP에서 다음과 같이 메모리 부족 메시지가 발생하더라.Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /var/www/html/open-flash-chart/php-ofc-library/ofc_scatter.php on line 5 조치방법 1 (PHP 소스) PHP 소스에서 아래 명령어를 수행하면 그 PHP 페이지 실행에 한하여 메모리 제한이 변경된다.메모리 제한 늘리기ini_set('memory_limit','512M'); 메모리 무제한으로 풀기ini_set('memory_limit','-1'); 조치방.. 더보기
[[ 로그 ]] php에서 간단히 로그 찍기 php에서 간단히 로그 찍기 function push_log($log_str , $line){global $log_filename; $now = getdate();$today = $now['year']."/".$now['mon']."/".$now['mday'];$now_time = $now['hours'].":".$now['minutes'].":".$now['seconds'];$now = $today." ".$now_time;$filep = fopen($log_filename, "a");if(!$filep) {die("can't open log file : ". $log_filename);} fputs($filep, "{$now} : ({$line}) : {$log_str}\n\r");fclose($fi.. 더보기
[php] php에서 mongodb에 upsert 시에 int->numberlong 변환되는 경우 update parameter에다가 int 형 변수를 담을 때... 'cnt' => $cnt 가 아니라... 'cnt' => new MongoInt32($cnt) 라고 해줘야한다. php mongo driver에서 기본적으로 BSON LONG 타입으로 받는다는데... 정확히는 더 알아봐야겠다. 더보기
php mongo 설치 시 openssl 에러 openssl/evp.h: 그런 파일이나 디렉터리가 없습니다 make하고 위와같은 에러 발생 시... sudo yum install openssl-devel 더보기
[php] 레퍼러 php에서 바로 이전 페이지를 알아내는 법. (Client의 ip가 아니다...) 이걸 찾으려고 별짓 다하다가... 해당 페이지에서 파이어버그를 이용하여 헤더를 찾아보고 알았다... 후아 $hostip_arr = parse_url($_SERVER["HTTP_REFERER"]);$hostip = gethostbyname($hostip_arr['host']); 더보기
[php] 간단하게 log 만들기 function push_log( $msg ){ $cron_log = "/data/htdocs/logs/mylog_".date("Y")."-".date("m")."-".date("d"). ".log"; error_log(date("Y-m-d H:i:s") ." :: ". $msg ."\r\n" , 3, $cron_log );} 물론 권한 설정, timezone 설정이 기본적으로 되어있어야 한다. 더보기