2014-12-21 211 views
-2

我有一個日誌查看系統,你可以通過這個查看日誌。Php open TXT最大文件大小

在一個點上。該文件增長到(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 } ?> 

你們知道問題是什麼嗎?

+2

請花幾秒鐘和unindent您的代碼,以便我們可以真正看到它。 – meagar

+1

那裏有一些不平衡的標籤和大括號,足夠我沒有信心完成固定縮進。確保你有正確的塊? –

+0

爲什麼不正確地格式化代碼 - 使其易讀! - 將幫助發現錯誤 –

回答

1

試圖用「文件」加載內存中的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); 
+0

真棒解決方案,像夢一樣工作。 – Gecko