這篇文章給大家分享的是有關(guān)java如何獲取PHP數(shù)據(jù)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)成都做網(wǎng)站、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、軟文發(fā)布平臺(tái)等專(zhuān)業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專(zhuān)業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
java獲取php數(shù)據(jù)的方法:
PHP文件:
<?php
class Test{
//日志路徑
const LOG_PATH="E:\phpServer\Apache\logs\\error.log";
//顯示的行數(shù)
const PAGES=50;
public static function main(){
header("content-type:text/html;charset=utf-8");
if(!empty($_GET['action'])){
if(!method_exists('Test',$_GET['action'])){
echo "404";
}else{
self::$_GET['action']();
}
exit;
}
}
public static function showApacheLogs(){
$test=new Test();
$result=$test->readLogs(self::LOG_PATH,self::PAGES);
$json=array();
for($i=0;$i<count($result);$i++){
$line=$result[$i];
//注意這里,如果處理會(huì)json解析失敗
$line=str_replace("\r\n", "", $line);
$result[$i]=array("num"=>$i+1,"msg"=>urlencode($line));
}
$str=stripslashes(urldecode(json_encode($result)));
echo $str;
}
/**
* 讀取日志
*/
private function readLogs($filePath,$num=20){
$fp = fopen($filePath,"r");
$pos = -2;
$eof = "";
$head = false; //當(dāng)總行數(shù)小于Num時(shí),判斷是否到第一行了
$lines = array();
while($num>0){
while($eof != "\n"){
if(fseek($fp, $pos, SEEK_END)==0){ //fseek成功返回0,失敗返回-1
$eof = fgetc($fp);
$pos--;
}else{ //當(dāng)?shù)竭_(dá)第一行,行首時(shí),設(shè)置$pos失敗
fseek($fp,0,SEEK_SET);
$head = true; //到達(dá)文件頭部,開(kāi)關(guān)打開(kāi)
break;
}
}
array_unshift($lines,fgets($fp));
if($head){ break; } //這一句,只能放上一句后,因?yàn)榈轿募^后,把第一行讀取出來(lái)再跳出整個(gè)循環(huán)
$eof = "";
$num--;
}
fclose($fp);
return array_reverse($lines);
}
}
Test::main();java文件:
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONArray;
import org.json.JSONObject;
public class ReadLogs {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost/test.php?action=showApacheLogs");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
// 輸出返回結(jié)果
InputStream input = conn.getInputStream();
int resLen =0;
byte[] res = new byte[1024];
StringBuilder sb=new StringBuilder();
while((resLen=input.read(res))!=-1){
sb.append(new String(res, 0, resLen));
}
String jsonStr=sb.toString();
//String轉(zhuǎn)換成JSON
JSONArray jsonArray=new JSONArray(jsonStr);
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject=new JSONObject(jsonArray.getString(i));
String msg=(String) jsonObject.get("msg");
int num=(int) jsonObject.get("num");
System.out.println(num+":"+msg);
}
}
}感謝各位的閱讀!關(guān)于java如何獲取PHP數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
分享標(biāo)題:java如何獲取PHP數(shù)據(jù)
新聞來(lái)源:http://www.jbt999.com/article2/ppjeic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、電子商務(wù)、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)