过去几天我一直在搜索SO,并且发现了很多关于我的问题的Q / A,但还没有解决它。我正在尝试制作一个Android应用程序,将4个(可能是5个)数据发送到我的网络服务器上的PHP脚本。我相信这段代码可以做到:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.mydomain.com/myscript.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("name", "name"));
nameValuePairs.add(new BasicNameValuePair("var1", "var1"));
nameValuePairs.add(new BasicNameValuePair("var2", "var2"));
nameValuePairs.add(new BasicNameValuePair("var3", "var3"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
我的问题是这样的:Hows会发送这些数据吗?我以为它会采用这种格式 http://www.mydomain.com/myscript.php?name=name&var1=var1&var2=var2&var3=var3
所以我认为这个myscript.php会起作用:
<?php
$name = $_GET['name'];
$filename = "newfile.php";
$newfile = fopen($filename, 'w+');
fwrite($newfile, $name);
fclose($newfile);
?>
我尝试了很多种方式,比如$ name = file_get_contents('php:// input')来试试看看收到了什么,但没有运气。
我是android和php的新手所以我认为我遗漏了一些非常明显的东西,因为SO上的所有其他Q / A似乎都跳过了“如何检索和使用正在发送的数据”。我只需要php脚本就可以获取4个变量并将上面的新文件写入其中。
我还想知道如何回复应用程序只是简单地说已收到数据。我认为这是由变量'response'处理的,但我还无法测试。
有人能指出我正确的方向吗? 感谢
答案 0 :(得分:3)
数据通过POST方法发送,而不是GET。因此,所有数据都在 $_POST
。
<?php
$name = $_POST['name'];
$filename = "newfile.php";
$newfile = fopen($filename, 'w+');
fwrite($newfile, $name);
fclose($newfile);
?>