> 백엔드 개발 > PHP 튜토리얼 > php脚本解析nginx日记

php脚本解析nginx日记

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-13 12:55:00
원래의
885명이 탐색했습니다.

php脚本解析nginx日志

nginx日志格式


access_log日志格式

log_format  main  '$server_name$remote_addr$remote_user[$time_local]"$request"'
                  '$status$body_bytes_sent"$http_referer"'
                  '"$http_user_agent""$http_x_forwarded_for"';
로그인 후 복사

日志参数

server_name 	  	 : 虚拟主机的主机名称
remote_addr 		 : 远程客户端的ip地址
remote_user 	 	 : 远程客户端用户名称
time_local  		 : 访问的时间与时区
status    		 : 记录请求返回的http状态码
body_bytes_sent 	 : 发送给客户端的文件主体内容的大小
http_referer	         : 从哪个页面链接访问过来 
http_user_agent 	 : 客户端浏览器信息
http_x_forwarded_for     : 客户端的真实ip
로그인 후 복사

日志分割符

使用特殊的不可打印字符^A(ctrl+v,ctrl+a)作为日志分割符



根据关键字过滤文件内容


需求

根据http的请求里是否有“weibo”这个关键字提取文件的内容


php代码

    /**
     * Description:按行读取文件内容进行过滤匹配
     *
     * @return array
     */
    function readFileContent ($filename)
    {
        $weibo_content = array();
        $fh = @fopen($filename, 'r');
        
        if ($fh) {
            while (! feof($fh)) {
                $row = fgets($fh, 4096);
                $row_arr = explode("", $row);
                if (isset($row_arr[3]) && preg_match('/weibo/', $row_arr[3])) {
                    $weibo_content[] = $row_arr;
                }
            }
        }
        fclose($fh);
        
        return $weibo_content;
    }
로그인 후 복사



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿