2011-01-20 43 views
12

以下のコードを使用して、データファイルをテキストファイルに保存するphpファイルに投稿する必要があります。 私はちょうど以下のデータを受け取ってテキストファイルに保存するPHPファイルを作成する方法を知りません。できるだけ簡単に PHPでファイルに投稿データ

try { 
    // Add your data 
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
    nameValuePairs.add(new BasicNameValuePair("stringData", "12345")); 
    nameValuePairs.add(new BasicNameValuePair("stringData", "AndDev is Cool!")); 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

    // Execute HTTP Post Request 
    HttpResponse response = httpclient.execute(httppost); 
    String responseText = EntityUtils.toString(response.getEntity()); 
    tv.setText(responseText);    
} catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
} 

答えて

47

単純に:PHPで

+6

<?php $ content = $ _POST ['content']; $ file = "text.txt"; $ Saved_File = fopen($ file、 'w'); fwrite($ Saved_File、$ content); fclose($ Saved_File); ?> –

+1

特定のキーの値を取得して保存する場合は、yesを入力します。生のPOSTデータ(キー値のペアである必要はありません。バイナリデータなど)をダンプするだけの場合は、 'php:// input'ストリームがそれを読み込みます。質問はあいまいであり、「できるだけシンプル」に求められました。まあ、それほど簡単にはなりません。 – Hamish

+2

また、 'file_put_contents'は一回のヒットでfopen、fwrite、fcloseを実行します。使いやすく読むのが簡単です。 – Hamish

12
file_put_contents('test.txt', file_get_contents('php://input')); 

1)、着信要求からPOSTデータが$ _POST配列を使用して取得します。 PHPのPOST配列は結合的です。つまり、各受信パラメータはキーと値のペアになります。開発時には、$ _POSTに実際に何が入っているのかを理解することが役に立ちます。 printf()やvar_dump()を使って次のように内容をダンプすることができます。

var_dump($_POST); 

- または -

printf($_POST); 

2)データを格納するための有用な文字列ベースのフォーマットを選択します。 PHPにはserialize()関数があり、これを使用して配列を文字列に変換することができます。配列をJSON文字列に変換することも簡単です。私はJSONを使用することをお勧めします。なぜなら、この表記をさまざまな言語で使用するのは当然です(PHPシリアライゼーションを使用すると、将来的にはPHPを使用することになります)。 PHP 5.2.0以降では、json_encode()関数が組み込まれています。

$json_string = json_encode($_POST); 

// For info re: JSON in PHP: 
// http://php.net/manual/en/function.json-encode.php 

3)文字列をファイルに保存します。 json文字列をファイルに書き込むには、fopen()、fwrite()、およびfclose()を試してください。

使用するファイルパスとファイル名に特定の場所と方法が必要です。

注:$ HTTP_RAW_POST_DATAを使用してHTTPリクエストのPOST本体を直接取得する可能性もあります。生データはURLエンコードされ、上で説明したようにファイルに書き込むことができる文字列になります。

+0

私の知る必要がある、私のサーバー上の私のPHPファイルはどのように見えるのでしょうか?

+0

タグをHamishの答えの周りに置いてください。 – ekillaby

+0

私はやった、それは働いて、ありがとう、もう一度私はあなたの方法を使用します。高速回答ありがとう –

関連する問題