我的第一篇文章所以请善待,或者不是,如果这是如何在这里工作。我有一个简单的脚本进行API调用以检索错误日志的数据,并使用$ _GET方法调用脚本内的url,因为我计划将来运行它作为将运行的更大脚本的一部分一个cron。
我遇到的问题是,当显示数据时,它只是一块没有格式化的文本墙。错误日志中的每一行都以日期和时间开头。
以下是输出的一小部分样本。
{"type":"success","response":{"data":{"thispage":1,"totalpages":1,"log":"2015-03-09 08:16:28\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>Title of Stuff - Book Stuff\n<\/TIT2><\/metadata>]\n2015-03-09 08:20:01\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>Another TItle of Stuff - Music Title\n<\/TIT2><\/metadata>]\n2015-03-09 08:25:40\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>Holy Cow - Title of CD\n<\/TIT2><\/metadata>]\n2015-03-09 08:31:33\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>The pizza king - eat pizza\n<\/TIT2><\/metadata>]\n2015-03-09 08:35:56\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>Ouch - Ouch Ouch\n<\/TIT2><\/metadata>]\n2015-03-09 08:40:19\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>What shall I do - Dump\n<\/TIT2><\/metadata>]\n2015-03-09 08:45:59\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>Its not a hangover - its cancer\n<\/TIT2><\/metadata>]\n2015-03-09 08:49:31\tINFO\t[ADMINCGI] XML title update [<?xml version=\"1.0\" encoding=\"UTF-8\" ?><metadata><TIT2>something is going on here - lalala\n<\/TIT2><\/metadata>]\n
但当然,它涉及许多方面的巨大障碍。如何解析,以便每行以每个新项目的日期和时间开始?
以下是我正在使用的javascript的PHP代码,结果如上所述。
<script>
javascript:void(location.href="http://url:port/api.php?xm=server.readlogs&f=json&a[username]=pizzaman&a[password]=THEpassword&a[type]=error");
</script>
<?php
$output = $_GET["a[type]"];
echo $output;
?>
提前感谢每个人的帮助
答案 0 :(得分:1)
我想出了一种使用file_get_contents的不同方法。我一定不能清楚地回答我的问题,因为这是在我面前盯着我看了一会儿。
<?php
header('Content-Type: text/html; charset=utf-8');
$homepage = file_get_contents('http://url/api.php?xm=server.getlogs&f=json&a[username]=pizzaman&a[password]=PizzaPassword&a[type]=error');
echo"<pre>". str_replace('\n', '<br>', $homepage) ."</pre>";
?>
然后取出所有/ n行并将它们变成换行符,这使得一切看起来都很漂亮。现在我只需要弄清楚如何用空格替换所有/ t并且我已经完成了设置。
如果有人有更好的解决方案,或者有办法让它更清洁,我全都耳朵!谢谢大家。