[英]How to read multiple lines from a file until a blank line in PHP?
我正在使用一個包含多行的日志文件。 我想在我的儀表板中使用這個日志文件。 該文件采用以下格式:
line1
line2
line3
line4
line5
line6
line7
line8
我想閱讀這個文件,並顯示它的內容,例如:
line1 line2 line3
line4 line5
line6 line7 line8
如何在 php 中執行此操作?
注意:我可以在儀表板中讀取文件並回顯結果。 我只需要上面的function。
至今:
<php?>
$logs = File::get('logs.txt');
$lines=explode("\n", $logs);
echo $lines['0'];
但這僅向我顯示了第一行。
假設您使用 $xline 作為臨時緩沖區。
循環遍歷日志文件,一次讀取一行。 (比如說使用 fgets)
如果從日志中讀取的行不為空,則將從日志中讀取的數據連接到臨時緩沖區,否則顯示緩沖區,清除它並將新行讀入緩沖區
所以代碼是:
<?php
$xline="";
$handle = fopen("./logs.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if (trim($line)!=""){
$xline.= " " . trim($line);
}else{
echo $xline."<br>";
$xline=$line;
}
}
}
echo $xline."<br>";
?>
完整的工作示例:
http://www.createchhk.com/SOanswers/SOanswer11Sep2022.php
日志文件:
http://www.createchhk.com/SOanswers/logs.txt
<div>
塊作為緩沖區開始</div><div>
替換任何空白行(否則將讀取的行復制到緩沖區)</div>
所以代碼將是
<?php
$xline="<div>";
$handle = fopen("./logs2.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if (trim($line)!=""){
$xline.=$line;
}else{
$xline.="</div><div>";
}
}
}
echo $xline ."</div>";
?>
完整的工作示例:
http://www.createchhk.com/SOanswers/SOanswer11Sep2022b.php
日志文件:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.