私は最後の数日間はSOを検索していて、問題に関して多くのQ/Aを見つけましたが、解決しようとしていません。私は私のウェブサーバ上のPHPスクリプトに4個(多分5個)のデータを送るAndroidアプリを作ろうとしています。私はこのコードがそうすると信じています:http POSTによって送信されたデータを表示/使用するにはどうすればよいですか?
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
}
私の質問は次のとおりです:このデータは送信されますか?
<?php
$name = $_GET['name'];
$filename = "newfile.php";
$newfile = fopen($filename, 'w+');
fwrite($newfile, $name);
fclose($newfile);
?>
私は= $名のように、のfile_get_contents( 'PHPをさまざまな方法の多くを試してみました:私は、だから私はこのmyscript.phpが働くだろうと思ったことは、この形式で http://www.mydomain.com/myscript.php?name=name&var1=var1&var2=var2&var3=var3
だろうと思いました//input ')を使って何が受信されているのか見てみましょう。
私はアンドロイドとPHPには新しいので、他のすべてのQ/Aは「送信されたデータを取得して使用する方法」をスキップしているように見えます。 PHPのスクリプトが必要とするのは、4つの変数を掴んで、上記のように新しい変数を書き込むことだけです。
私はまた、データが受信されたという単純な応答をアプリケーションに戻す方法を知りたいと思います。私はそれが変数 '応答'によって処理されると推測しますが、まだそれをテストすることはできません。
誰かが正しい方向に向かうことができますか? ありがとう
ありがとうございました。代わりに$ _POSTを使用しました。これは 'echo'で動作しますが、何らかの理由でnewfile.phpという新しいファイルを作成しません。しかし、私は同じディレクトリに同じコードを使って他のPHPファイルを持っていて、ファイルが存在しなければ喜んで作成します。ファイルが存在し、書き込み可能であれば動作しますが、それ以外の場合はエラーを返します。それのための任意のアイデア? – lifeIsGood
そのフォルダに対する書き込み権限がありますか? _エラーを返します、何のエラー? –
ありがとうございます。フォルダ全体の権限を「書き込み可能」にすることで、現在は機能しています。しかし、以前はそうではなかったように、奇妙なことに、まだ別のPHPスクリプトが存在しなければ、ファイルを作成して作成することができました。 – lifeIsGood