解析以php/html格式显示到表中的txt文件

解析以php/html格式显示到表中的txt文件,php,css,parsing,Php,Css,Parsing,我刚刚创建了一个脚本来获取ip、主机名和日期,并将其放入文本文件中。我想创建另一个脚本,将这些信息显示到带有一些表的.php中,以便于阅读 这是我用来写文件的代码,它工作得很好。我只是不知道如何解析它来做我想让它做的事情 $logFile = 'IPLog.txt'; $fh = fopen($logFile,'a') or die("can't open file"); $ip = $_SERVER['REMOTE_ADDR']; $fullhost = gethostbyaddr($ip);

我刚刚创建了一个脚本来获取ip、主机名和日期,并将其放入文本文件中。我想创建另一个脚本,将这些信息显示到带有一些表的.php中,以便于阅读

这是我用来写文件的代码,它工作得很好。我只是不知道如何解析它来做我想让它做的事情

$logFile = 'IPLog.txt';
$fh = fopen($logFile,'a') or die("can't open file");
$ip = $_SERVER['REMOTE_ADDR'];
$fullhost = gethostbyaddr($ip);
$stringData = date('m/d/y | h:ia') . " - " . $ip . ":" . $fullhost . "\n";
fwrite($fh, $stringData);
fclose($fh);
输出如下所示

04/06/13 | 02:53下午-xxx.xxx.xxx.xxx:xxx.comcast.net

我正在等待脚本读取文件并将其显示在表中,例如

IP Address      | Hostname          | Date        | Time
----------------|-------------------|-------------|-----------------------------
xxx.xxx.xxx.xx  | xxx.comcast.net   | 04/06/13    | 02:53pm
--------------------------------------------------------------------------------
xxx.xxx.xxx.xx  | xxx.comcast.net   | 04/06/13    | 02:53pm
--------------------------------------------------------------------------------
xxx.xxx.xxx.xx  | xxx.comcast.net   | 04/06/13    | 02:53pm
--------------------------------------------------------------------------------
xxx.xxx.xxx.xx  | xxx.comcast.net   | 04/06/13    | 02:53pm
--------------------------------------------------------------------------------
所以我希望它只是做一个漂亮的小表格来显示信息,这样我就可以很快地检查它,它看起来很漂亮


我想要这个没有什么特别的原因。我只是将此用作如何解析文本文件的示例。我从来都不擅长,我真的很想知道它是怎么做到的。因此,如果我想的话,我也可以将其用于其他用途。

将当前输出更改为:
04/06/13-02:53pm-xxx.xxx.xxx.xxx-www.comcast.net
。 这将使以后更容易解析。 因此,在当前文件中,您必须更改以下行:

$stringData=date('m/d/y-h:ia')。" - " . $知识产权。" - " . $全主机。“\n”

现在,要在表中显示数据,可以使用以下命令:

$logFile = 'IPLog.txt';
$lines = file($logFile); // Get each line of the file and store it as an array
$table = '<table border="1"><tr><td>Date</td><td>Time</td><td>IP</td><td>Domain</td></tr>'; // A variable $table, we'll use this to store our table and output it later !
foreach($lines as $line){ // We are going to loop through each line
    list($date, $time, $ip, $domain) = explode(' - ', $line);
    // What explode basically does is it takes a delimiter, and a string. It will generate an array depending on those two parameters
    // To explain this I'll provide an example : $array = explode('.', 'a.b.c.d');
    // $array will now contain array('a', 'b', 'c', 'd');
    // We use list() to give them kind of a "name"
    // So when we use list($date, $time, $ip, $domain) = explode('.', 'a.b.c.d');
    // $date will be 'a', $time will be 'b', $ip will be 'c' and $domain will be 'd'
    // We could also do it this way:
    // $data = explode(' - ', $line);
    // $table .= '<tr><td>'.$data[0].'</td><td>'.$data[1].'</td><td>'.$data[2].'</td><td>'.$data[3].'</td></tr>';
    // But the list() technique is much more readable in a way
    $table .= "<tr><td>$date</td><td>$time</td><td>$ip</td><td>$domain</td></tr>";
}
$table .= '</table>';
echo $table;
$logFile='IPLog.txt';
$lines=file($logFile);//获取文件的每一行并将其存储为数组
$table='DateTimeIPDomain';//一个变量$table,我们将使用它来存储我们的表并在以后输出它!
foreach($line as$line){//我们将循环遍历每一行
列表($date,$time,$ip,$domain)=分解('-',$line);
//explode的基本功能是使用一个分隔符和一个字符串。它将根据这两个参数生成一个数组
//为了解释这一点,我将提供一个示例:$array=explode('.','a.b.c.d');
//$array现在将包含数组('a','b','c','d');
//我们使用list()给他们一个“名字”
//所以当我们使用list($date,$time,$ip,$domain)=爆炸('.','a.b.c.d');
//$date将是'a',$time将是'b',$ip将是'c',$domain将是'd'
//我们也可以这样做:
//$data=分解('-',$line);
//$table.='.$data[0].$data[1].$data[2].$data[3].';
//但是list()技术在某种程度上更具可读性
$table.=“$date$time$ip$domain”;
}
$table.='';
echo$表;

向我们展示一些PHP/HTML代码。检查结构。另外,您想在html表中附加'IPLog.txt'还是这只是一个错误?您想要的输出应该是html
标记,或者您想要ascii艺术风格?我很困惑。@X857我猜html表,直到我看到他实际上是在将当前信息附加到.txt。。。我会等手术结果出来我还没试过说实话我甚至不知道从哪里开始。我有一个脚本,可以将信息保存到txt文件中。我想从文本文件中提取信息,并将其显示到一个易于阅读的表格中。无需下载txt文件。第二个代码就是我想要的样子。我把所有这些都打出来了,让它看起来像那样真是一件痛苦的事。哇,我希望能有比这更多的编码。这真的很简单,要好好研究它,并了解它是如何工作的。谢谢,这正是我现在想要的,我只需要用一些css来清理它,让它看起来更漂亮。@joebjr。不客气,我在代码中添加了注释来解释我在那里做了什么,编码快乐!