2016-11-11 184 views
0

對於我正在處理的項目,我需要從iPhone應用程序「SensorLog」獲取數據。 隨着SensorLog可以讀出你的iOS設備的傳感器數據,並通過電子郵件發送以csv文件,通過TCP/IP流它,並通過HTTP GET/POST請求發送通過tcp/ip傳輸數據並通過HTTP GET/POST請求發送。 iPhone Webserver

我需要通過TCP串流它/ IP,並通過HTTP GET/POST請求發送給我的本地計算機。以下是手機上的配置屏幕。

Configuration screen 下面是APP提供的PHP代碼。

<html> 
<head> 
<title>php post get</title> 
</head> 
<body> 
<?php 

echo "PHP Example: Receiving SensorLog data via HTTP GET/POST and save it to  a file<br>\n"; 
$line = array(); 
if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    $line[] = "HTTP:POST"; 
    foreach($_POST as $key=>$value) { 
     $line[] = "$key:$value"; 
    } 
} 
if ($_SERVER['REQUEST_METHOD'] === 'GET') { 
    $line[] = "HTTP:GET"; 
    foreach($_REQUEST as $key=>$value) { 
     $line[] = "$key:$value"; 
    } 
} 
if (count($line) > 1) { 
    $myfile = fopen("SensorLog.txt", "a") or die("Unable to open file!"); 
    $line = implode(",",$line); 
    $line .= "\n"; 
    fwrite($myfile,$line); 
    fclose($myfile); 
} else { 
echo "<h3>Logged Data</h3>"; 
$myfile = fopen("SensorLog.txt", "r") or die("Unable to open file!"); 
while(!feof($myfile)) { 
    echo fgets($myfile) . "<br>"; 
} 
fclose($myfile); 
} 

?> 
</body> 
</html> 

我在本地系統中設置了Apache Web服務器和PHP。

問題 ** 1。我應該把什麼在應用程序的URL在iPhone
2.我如何收到的數據在我的本地系統**

我真的很新的這一點。我需要進一步研究數據,但無法獲得「數據流」。請幫忙。

回答

0

如果您應用通過URL處理PHP腳本那麼你必須處理$_GET,你應該改變你的PHP代碼到:

... 
if ($_SERVER['REQUEST_METHOD'] === 'GET') { 
    $line[] = "HTTP:GET"; 
    foreach($_GET as $key=>$value) { 
     $line[] = "$key:$value"; 
    } 
} 
... 

網址應該看起來像:
http://yourdomain/?KEY1_VALUE=VALUE1_VALUE&KEY2_VALUE=VALUE2_VALUE&KEY3_VALUE=VALUE3_VALUE

這將導致此內容在您的文件
KEY1_VALUE:VALUE1_VALUE,KEY2_VALUE:VALUE2_VALUE,KEY3_VALUE:VALUE3_VALUE

如果在本地服務器上的工作,然後你的域名是:http://127.0.0.1/http://localhost/