サーバにあるログファイル.txtの内容をiPhoneで確認したい。
doSHOWTXTGREP.phpを作る。引数にとったテキストファイルの内容を画面に表示してくれる。
使い方はこんな感じ。
http://myserver.com/doSHOWTXTGREP.php?TARGET_TEXT=temp.txt
結果こうなる。
TARGET_TEXT=temp.txt はUTF-8だろうがShift-JISだろうが全く問題なく表示してくれる。引数テキストを変えてやればいくらでも(サーバにある)ファイルを読み込める。メッチャ便利。
ソースはこれ。
89行目 foreachで各行を読み込む
90行目 各行に「title」や「start_time」の文字列が入っていたら
92行目 黄色くマーキングする
条件によってはいろいろなマーキングができる。
次回はこのdoSHOWTXTGREP.php(引数ファイルを表示するPHP)を画面から呼び出す別のPHP(一覧機能)を実装する。
コピペ用
<div style="z-index: 1500; position: fixed; top: 0px; right: 0px;">
<fieldset>
<?php
//参考ソース
//VLC Extensionsからサーバのrecpt1を起動、停止させる ref:
//https://gist.github.com/mkit0031/c72f54adf69bc2bc8379
//エラーをhtml上に吐く
ini_set( 'display_errors', 1);
//記述上のエンコードを指定
mb_internal_encoding("UTF-8");
//表示上のエンコード指定header
header("Content-Type: text/html; charset=UTF-8");
// 後で呼ぶ関数の中で使う変数を定義
$DATE = date("Ymd_His");
print 'アクセス日時:' . $DATE;
// サーバIPアドレス把握
$srv_ip = $_SERVER["SERVER_ADDR"];
$srv_octet = substr("$srv_ip", 10, 2);
print "<p>サーバIPアドレス:$srv_ip<br>";
print "<b><font color=\"red\">サーバIP の末尾:$srv_octet</font></b></p>";
// クライアントIPアドレス把握
$user_ip = $_SERVER["REMOTE_ADDR"];
echo "<p>アクセス者:$user_ip<br>";
$firstoctet = substr("$user_ip", 0, 3);
echo "第1オクテット:$firstoctet </p>";
// jecho "PHPファイル名:" . basename(__FILE__, ".php");
echo '<mark>' . basename(__FILE__, ".php") . '</mark>';
// galmov03 bootstrap
// echo basename($_SERVER['PHP_SELF']);
// print basename(__FILE__, ".php");
define('SCRIPT_DIR', dirname($_SERVER['SCRIPT_FILENAME']));
define('IMAGES_DIR', SCRIPT_DIR . '/thumb_movie_images');
//print 'SCRIPT_DIR:' . SCRIPT_DIR . '<br>';
//print 'IMAGES_DIR:' . IMAGES_DIR . '<br>';
?>
</fieldset>
</div>
<?php
/// //// hostname を取得
/// // exec("sudo hostname" , $myhost);
/// $myhost = shell_exec('hostname');
/// // POSTされたチャンネル取得(なければ48にする)
/// $myCHNL = '48';
/// $myCHNL = $_GET['TEXT'];
/// // 実行環境を表示
/// print '実行サーバ:' . "$myhost";
/// print '<br>';
// $myTARGETではなくTEXTにする(curlで呼び出されるから)
// $myTEXT 対象動画名をセット
if(isset($_GET['TARGET_TEXT'])){
$myTEXT = $_GET['TARGET_TEXT'];
} else {
$myTEXT = "myTEXT_NOSET";
}
// YELLOWではない
print '<b><mark>$myTEXT:' . "$myTEXT" . '</mark></b>';
// shellのcat結果をphpに食わせると
// 表示が遅すぎて実用的でない 20200809 ← いやそんなことないcat が一番速い
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' 2>&1 &';
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' > /dev/null 2>&1 &';
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' | grep title 2>&1 &';
// cat *JIMAKU.txt | egrep 'time|title|--------------------------------------------------------------------------------'
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' | egrep \'time|title|--------------------------------------------------------------------------------\'' . ' 2>&1 &';
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' | egrep \'time|title|--------------------------------------------------------------------------------\'' . ' 2>&1 &';
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' | egrep \'time|title|--------------------------------------------------------------------------------\'' . ' | tail -n 3000 2>&1 &';
// $commandCAT = 'pwd && cat ' . "$myTEXT" . ' | tail -n 3000 2>&1 &';
// テキストサイズが100MBとかだとphpの表示が激的に遅い
// 素のhtmlにしても開けなかった tailで調整するしかない 20200809
$commandCAT = 'pwd && cat ' . "$myTEXT" . ' | tail -n 5000 2>&1 &';
// print "$commandCAT";
exec("$commandCAT" , $outputCAT);
print '<hr>';
print '<b>bash commandCAT</b><br>';
print "<b>$commandCAT</b>";
print '<hr>';
foreach($outputCAT as $EACHLINE){
if (preg_match('/.*title.*|.*start_time.*/', $EACHLINE)) {
// print '<b><font color="blue">' . "$EACHLINE" . '</font></b>';
print '<b><mark>' . "$EACHLINE" . '</mark></b>';
} else {
print "$EACHLINE";
}
print '<br>';
}
参考