拆分Minecraft播放器禁止文件(禁止玩家,json)每次禁止发现

时间:2017-07-24 22:48:19

标签: php arrays json ftp minecraft

我正在尝试在我的网站上创建一个页面,列出我的Minecraft服务器上的禁令 我通过FTP获取文件(不要告诉我这是一个安全问题)

这是我的代码:

$banfile = file_get_contents("ftp://**********262%40gmail.com.*****:**********@***.***.*.***:21/banned-players.json");
$banarray = json_decode($banfile, true);
echo print_r($banarray, true);`

但是我让球员退出了阵容。我可以从文件中获取一个特定的数字禁止但是当添加一个新的时候我不能得到这个,因为脚本不知道它存在

这是output。 (通过代码放入数组;隐藏敏感信息。放上Pastebin,这样我就不会垃圾邮件了)

我想把它们放在表格格式中:

目:
播放器 | 原因 | 禁止 | 过期时间

行:
ExamplePlayer |原因|管理员|从未

使用当前代码,这有点可以从数组中获取并回显它:

行:

$banarray[0][name] | $banarray[0][reason] | $banarray[0][source] | $banarray[0][expires]

此代码可以使用,但我必须经常手动更新此页面。我知道有一个php函数foreach (array_expression as $value),但我不知道如何使用它。我相信,对于我想做的事情,我需要foreach()

3 个答案:

答案 0 :(得分:1)

foreach ($banarray as $v) {
    echo $v['name'], ' | ', $v['reason'],' | ', $v['source'], ' | ', $v['expires'], "\n";
}

所以$ v是当前元素,你可以省略[0],[1],...

答案 1 :(得分:0)

您可以使用循环从数组访问元素。

foreach ($banarray as $value) {
  echo 'source => ' . $value['source'] . '<br>';
  echo 'reason => ' . $value['reason'] . '<br>';
}

答案 2 :(得分:0)

就像:

<?php
$rows = '';
foreach($banarray as $a){
  $rows .= "<tr><td>{$a['uuid']}</td><td>{$a['name']}</td>"
    ."<td>{$a['created']}</td><td>{$a['source']}</td>"
    ."<td>{$a['expires']}</td><td>{$a['reason']}</td></tr>";
}
$table = "<table id='tbl'><thead><tr><th>uuid</th><th>name</th>"
  .'<th>created</th><th>source</th><th>expires</th><th>reason</th></tr>'
  ."<thead><tbody>$rows</tbody></table>";
echo $table;
?>