加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

[PHP] java读取PHP接口数据

发布时间:2020-05-25 03:14:51 所属栏目:PHP 来源:互联网
导读:和安卓是一个道理,读取json数据PHP文件:?phpclass Test{//日志路径const LOG_PATH=E:phpServerApachelogserror.log;//显示的行数const PAGES=50;public static function main(){header(content-type:text/html;charset=utf-8);if(!empty($_GET[action])){if

和安卓是一个道理,读取json数据

PHP文件:

</span><span style="color: #0000ff;"&gt;if</span>(!<span style="color: #0000ff;"&gt;empty</span>(<span style="color: #800080;"&gt;$_GET</span>['action'<span style="color: #000000;"&gt;])){ </span><span style="color: #0000ff;"&gt;if</span>(!<span style="color: #008080;"&gt;method_exists</span>('Test',<span style="color: #800080;"&gt;$_GET</span>['action'<span style="color: #000000;"&gt;])){ </span><span style="color: #0000ff;"&gt;echo</span> "404"<span style="color: #000000;"&gt;; }</span><span style="color: #0000ff;"&gt;else</span><span style="color: #000000;"&gt;{ self</span>::<span style="color: #800080;"&gt;$_GET</span>['action'<span style="color: #000000;"&gt;](); } </span><span style="color: #0000ff;"&gt;exit</span><span style="color: #000000;"&gt;; } } </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;function</span><span style="color: #000000;"&gt; showApacheLogs(){ </span><span style="color: #800080;"&gt;$test</span>=<span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; Test(); </span><span style="color: #800080;"&gt;$result</span>=<span style="color: #800080;"&gt;$test</span>->readLogs(self::LOG_PATH,self::<span style="color: #000000;"&gt;PAGES); </span><span style="color: #800080;"&gt;$json</span>=<span style="color: #0000ff;"&gt;array</span><span style="color: #000000;"&gt;(); </span><span style="color: #0000ff;"&gt;for</span>(<span style="color: #800080;"&gt;$i</span>=0;<span style="color: #800080;"&gt;$i</span><<span style="color: #008080;"&gt;count</span>(<span style="color: #800080;"&gt;$result</span>);<span style="color: #800080;"&gt;$i</span>++<span style="color: #000000;"&gt;){ </span><span style="color: #800080;"&gt;$line</span>=<span style="color: #800080;"&gt;$result</span>[<span style="color: #800080;"&gt;$i</span><span style="color: #000000;"&gt;]; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;注意这里,如果处理会json解析失败</span> <span style="color: #800080;"&gt;$line</span>=<span style="color: #008080;"&gt;str_replace</span>("rn","",<span style="color: #800080;"&gt;$line</span><span style="color: #000000;"&gt;); </span><span style="color: #800080;"&gt;$result</span>[<span style="color: #800080;"&gt;$i</span>]=<span style="color: #0000ff;"&gt;array</span>("num"=><span style="color: #800080;"&gt;$i</span>+1,"msg"=><span style="color: #008080;"&gt;urlencode</span>(<span style="color: #800080;"&gt;$line</span><span style="color: #000000;"&gt;)); } </span><span style="color: #800080;"&gt;$str</span>=<span style="color: #008080;"&gt;stripslashes</span>(<span style="color: #008080;"&gt;urldecode</span>(json_encode(<span style="color: #800080;"&gt;$result</span><span style="color: #000000;"&gt;))); </span><span style="color: #0000ff;"&gt;echo</span> <span style="color: #800080;"&gt;$str</span><span style="color: #000000;"&gt;; } </span><span style="color: #008000;"&gt;/*</span><span style="color: #008000;"&gt;* * 读取日志 </span><span style="color: #008000;"&gt;*/</span> <span style="color: #0000ff;"&gt;private</span> <span style="color: #0000ff;"&gt;function</span> readLogs(<span style="color: #800080;"&gt;$filePath</span>,<span style="color: #800080;"&gt;$num</span>=20<span style="color: #000000;"&gt;){ </span><span style="color: #800080;"&gt;$fp</span> = <span style="color: #008080;"&gt;fopen</span>(<span style="color: #800080;"&gt;$filePath</span>,"r"<span style="color: #000000;"&gt;); </span><span style="color: #800080;"&gt;$pos</span> = -2<span style="color: #000000;"&gt;; </span><span style="color: #800080;"&gt;$eof</span> = ""<span style="color: #000000;"&gt;; </span><span style="color: #800080;"&gt;$head</span> = <span style="color: #0000ff;"&gt;false</span>; <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;当总行数小于Num时,判断是否到第一行了 </span> <span style="color: #800080;"&gt;$lines</span> = <span style="color: #0000ff;"&gt;array</span><span style="color: #000000;"&gt;(); </span><span style="color: #0000ff;"&gt;while</span>(<span style="color: #800080;"&gt;$num</span>>0<span style="color: #000000;"&gt;){ </span><span style="color: #0000ff;"&gt;while</span>(<span style="color: #800080;"&gt;$eof</span> != "n"<span style="color: #000000;"&gt;){ </span><span style="color: #0000ff;"&gt;if</span>(<span style="color: #008080;"&gt;fseek</span>(<span style="color: #800080;"&gt;$fp</span>,<span style="color: #800080;"&gt;$pos</span>,SEEK_END)==0){ <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;fseek成功返回0,失败返回-1 </span> <span style="color: #800080;"&gt;$eof</span> = <span style="color: #008080;"&gt;fgetc</span>(<span style="color: #800080;"&gt;$fp</span><span style="color: #000000;"&gt;); </span><span style="color: #800080;"&gt;$pos</span>--<span style="color: #000000;"&gt;; }</span><span style="color: #0000ff;"&gt;else</span>{ <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;当到达第一行,行首时,设置$pos失败 </span> <span style="color: #008080;"&gt;fseek</span>(<span style="color: #800080;"&gt;$fp</span>,<span style="color: #000000;"&gt;SEEK_SET); </span><span style="color: #800080;"&gt;$head</span> = <span style="color: #0000ff;"&gt;true</span>; <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;到达文件头部,开关打开 </span> <span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;; } } </span><span style="color: #008080;"&gt;array_unshift</span>(<span style="color: #800080;"&gt;$lines</span>,<span style="color: #008080;"&gt;fgets</span>(<span style="color: #800080;"&gt;$fp</span><span style="color: #000000;"&gt;)); </span><span style="color: #0000ff;"&gt;if</span>(<span style="color: #800080;"&gt;$head</span>){ <span style="color: #0000ff;"&gt;break</span>; } <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;这一句,只能放上一句后,因为到文件头后,把第一行读取出来再跳出整个循环 </span> <span style="color: #800080;"&gt;$eof</span> = ""<span style="color: #000000;"&gt;; </span><span style="color: #800080;"&gt;$num</span>--<span style="color: #000000;"&gt;; } </span><span style="color: #008080;"&gt;fclose</span>(<span style="color: #800080;"&gt;$fp</span><span style="color: #000000;"&gt;); </span><span style="color: #0000ff;"&gt;return</span> <span style="color: #008080;"&gt;array_reverse</span>(<span style="color: #800080;"&gt;$lines</span><span style="color: #000000;"&gt;); }

}
Test::main();

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读