PHPでエラーログ等のログファイルから指定した行数を表示させる方法
2024/05/22
エラーログを最新分から指定行数表示させる
プログラムがあって、どういった作りになっているのか
気になったのでメモ。
サンプル
https://taitan916.info/sample/logcheck/
ソース
<html lang="ja">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
</head>
<body>
<form action="" method="GET">
<table width="100%">
<tr>
<td class="title">
取得行数
</td>
<td class="left">
<input type="text" name="rows" size="20" />行
<input type="submit" value="表示する" />
</td>
</tr>
</table>
</form>
<?php
$log_file = "test.log";
$log_data = file($log_file); //配列に格納
$rows = isset($_GET['rows']) ? max(0,intval($_GET['rows'])) : 5; //最大表示行数
if ($rows >= count($log_data)) { //設定した表示行数が、全体行数より大きい場合
$rows = count($log_data); //表示行数は全体表示行数とする
}
$n = count($log_data) - $rows; //全体行数 - 表示行数を取得
for ($i = count($log_data); $i >= $n; $i--) { //最新分から古い方へ$nまでデクリメント。
echo $log_data[$i] . "<br />\n"; //表示していく
}
?>
</body>
</html>
関連記事
-
-
PHP8系で関数の引数が設定しやすくなる名前付き引数について
PHP8系で名前付き引数が導入されたということを最近知った。今までは「第〇引数」 ...
-
-
PHPでLINEログイン後「ユーザー名」「ユーザーID」「プロフィール画像URL」「メッセージ」を取得する方法
<a>タグのリンクからページ遷移するとLINEログインし、その後に「 ...
-
-
PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)
PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ...
-
-
MySQLで使用するインデックスを指定する
ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...
-
-
CodeIgniter4でコントローラ実行の前後に指定したイベントを実行する方法
CodeIgniter4で特定の条件の場合は指定したページにリダイレクトさせたい ...