我有一个日志视图系统,您可以查看日志。
有一次。该文件增长到(37.134 KiB),我认为它达到了一些最大文件大小,因为我查看另一个27.041 KiB的日志文件。
有什么方法可以解决这个问题吗?
我的代码(就像我用较小的文件说的那样)。
<?php
$search = $_GET["search"];
$logfile = $_GET['logfile'];
// Read from file
$lines = file($logfile);
echo"<html><head><title>Admin panel - Search: $search</title></head><body>";
foreach($lines as $line) { // Check if the line contains the string we're looking for, and print if it does
if(stristr($line,$search)) // case insensitive
echo "<font face='Arial'> $line </font><hr>";
if(empty($line))
{
?>
No results
<?php
}
}
?>
</div>
</fieldset>
<?php } ?>
你们知道问题是什么吗?
答案 0 :(得分:1)
尝试使用&#34;文件&#34;在内存中加载37 mo文件不是一个好主意。 为什么不使用fopen和fgets?
$file = fopen($logfile, "r");
while( ($line = fgets($file) )!= false)
{
if(stristr($line,$search)) // case insensitive
echo "<font face='Arial'> $line </font><hr>";
}
fclose($file);