我需要帮助:
将文件/ var / log / syslog读入HTML页面,限制为最后20行和下一行/上一页按钮
答案 0 :(得分:1)
试试此代码
<?php
$lines = file($_SERVER['DOCUMENT_ROOT'] . '/inc/data.txt'); # This is your text file.
$line_amount = count($lines);
#echo '<pre>'; print_r($lines); echo '</pre>';
$perpage = 20;
$p = isset($_GET['p']) ? $_GET['p'] : 1;
for ($i = (($p * $perpage) - $perpage); $i <= (($perpage * $p) - 1); $i++){
if($i >= $line_amount){
break;
}
else{
if($lines[$i] != ''){
echo ''.$lines[$i].'<br />'; # This is the output loop.
}
}
}
//$p = $p + $perpage;
?>
<table summary="" cellpadding="10" cellspacing="0" border="0" class="global-links-menu">
<tr>
<?php
$total_pages = $line_amount/$perpage;
if($line_amount % $perpage != 0){
$total_pages = $total_pages + 1;
}
if($p!=1)
{
$back_page=$p-1;
echo "<td ><a href='?p=$back_page'>Back</a></td>";
}
else
{
$back_page=$p-1;
echo "<td >Back</td>";
}
for($j=1;$j<=$total_pages;$j++)
{
if($j==$p)
{
echo "<td >$p</td>";
}
else
{
echo "<td ><a href='?p=$j'>$j</a></td>";
}
}
if($p <= $total_pages - 1){
$next_page=$p+1;
echo "<td ><a href='?p=$next_page'>Next</a></td>";
}
else
{
echo "<td >Next</td>";
}
?>
</tr></table>
答案 1 :(得分:1)
你最好的选择是产生一个sudoed tail
:PHP进程通常不能读取syslog文件。
使用sudoers
或您选择的工具正确配置visudo
文件,然后:
$output = shell_exec('/path/to/sudo /path/to/tail -n 20 /var/log/syslog | head -n 10');
下一个/上一个按钮可用于配置上面的数字。在这里,我正在阅读系统日志的最后20行,并输出前10行。在某种程度上,与MySQL的LIMIT选项不同。