77;20202;0ccatbody - よくきたWiki

Loading ...


<?php

while ($line = fgets(STDIN, 8192)) {
    if (preg_match('@^([\d\.]+) \- \- \[(.*)\] "(GET|POST|HEAD) ([^ ]+) HTTP/([^ ]+)" (.*) (.*) "(.*)" "(.*)"$@', $line, $matches)) {
        $parts = preg_split("@[: /]@", $matches[2]);
        $epoch = strtotime(sprintf("%d %s %d %d:%d:%d", $parts[0], $parts[1], $parts[2], $parts[3], $parts[4], $parts[5]));
        $matches[2] = strftime("%Y-%m-%d %H:%M:%S", $epoch);
        fputs(STDOUT, implode(",", $matches)."\n");
    } else {
        fputs(STDERR, $line);
    }
}

?>
<?php

define('FILE_INPUT_LOG', 'access_log');
define('FILE_OUTPUT_CSV', 'access.csv');
define('FILE_OUTPUT_ERROR', 'access.error');

$fp_input_log = fopen(FILE_INPUT_LOG, 'r');
$fp_output_log = fopen(FILE_OUTPUT_CSV, 'w');
$fp_output_error = fopen(FILE_OUTPUT_ERROR, 'w');



while ($line = fgets($fp_input_log, 8192)) {
    if (preg_match('@^([\d\.]+) \- \- \[(.*)\] "(GET|POST|HEAD) ([^ ]+) HTTP/([^ ]+)" (.*) (.*) "(.*)" "(.*)"$@', $line, $matches)) {
        $parts = preg_split("@[: /]@", $matches[2]);
        $epoch = strtotime(sprintf("%d %s %d %d:%d:%d", $parts[0], $parts[1], $parts[2], $parts[3], $parts[4], $parts[5]));
        $matches[2] = strftime("%Y-%m-%d %H:%M:%S", $epoch);
        fputs(fp_output_log, implode(",", $matches)."\n");
    } else {
        fputs(fp_output_error, $line);
    }
}

?>

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
最終修正日時: Mon, 21 Jan 2008 02:11:49 JST (3412d)
文字数(HTML): 1493
文字数(Wiki): 1647
人気ブログランキング - よくきた wiki