我试图将纯文本日志文件(没有wordwrap)转换为更具可读性的东西。 PHP-文件
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
echo "$arrM . <br>";
}
fclose($log)
?>
每当日志文件中有|
时,php脚本应该在输出中将其更改为<br>
。
但是,打开php文件时,我得到的只是
Array .
Array .
日志文件的内容
Sachen|Enter|nochmal Enter|Und schon wieder Enter
。我是初学者,开始阅读有关fopen和爆炸的内容。认为这将是我需要的,但有些事情是错的......?在此先感谢:)
答案 0 :(得分:3)
问题是您无法使用echo
输出数组,您需要像
foreach ($arrM as $row) echo $row;
或var_dump($arrM)
用于开发人员输出&#39;或print_r($arrM)
。
答案 1 :(得分:0)
使用echo "<pre>";print_r($arrM);
原因,如果在echo中打印一个数组,PHP会向你显示数组,所以你最好看看print_r是什么,因此你可以访问变量,或者把它放在循环中。
答案 2 :(得分:0)
使用print_r()作为打印数组(developer-output)
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
//echo "$arrM . <br>";
print_r($arrM);
}
fclose($log)
?>
echo打印一个或多个字符串
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
//echo "$arrM . <br>";
foreach($arrM as $string){
echo $string . '<br>';
}
}
fclose($log)
?>