• 締切済み

multipart/form-dataを使ったデータ送信について

色々調べましたが分からなかったので質問させてください。 ある配列データをmultipart/form-dataを使い送信したいと、 考えています 例) [sample1.php] $data = array("saitama","kanagawa","chiba"); //このsample1.phpファイルから$dataをmultipart/form-dataを使い、 //sample2.phpファイルに送信したいと考えています。 [sample2.php] //$dataを受け取る 調べましたがフォームを介して送信する方法はいくつかありましたが、 フォームを使わずに送信する方法がわかりませんでした。 どなかた教えていただけないでしょうか。 よろしくお願いいたします。

みんなの回答

  • takapiii
  • ベストアンサー率55% (944/1707)
回答No.2

sample1.phpでは、HTTP_Requestで配列$dataをsample2.phpにHTTP送信し、sample2.phpの応答を受け取っています。 sample2.phpでは、受け取った$_POSTの中身を書き出しています。 結果、sample1.phpの配列をsample2.phpに渡せている事が証明されます。 これを応用すれば実現可能かと思います。 sample1.php <? require_once "HTTP/Request.php"; $data = array("saitama","kanagawa","chiba"); $req =& new HTTP_Request("http://localhost/sample2.php"); $req->setMethod(HTTP_REQUEST_METHOD_POST); $req->addPostData("data", $data); $response = $req->sendRequest(); if (PEAR::isError($response)) { echo $req->getMessage(); }else{ echo $req->getResponseBody(); } ?> sample2.php <? print_r($_POST); ?>

  • takapiii
  • ベストアンサー率55% (944/1707)
回答No.1

multipart/form-dataを使用したい理由は何でしょうか。 PEARのHTTP_Requestを使用すれば、GET,POSTでの送信は可能です。 ファイルアップロードも可能なようです。 http://www.phppro.jp/school/pear/vol8/1 後、以下の人のブログでHTTP_Requestでmultipart/form-data送信をしているみたいですが、たまたま見つけたサイトなので真偽のほどは分かりません。 ご自身で調べてみてください。 http://d.hatena.ne.jp/sdkt4a/20090318/1237339235

k_taku0808
質問者

補足

回答ありがとうございます。 返信遅くなってしまってすいません。 >multipart/form-dataを使用したい理由は何でしょうか。 自分自身勉強不足でmultipart/form-dataの詳しいことは正直分かっていません。 まずそこから勉強ですね。。。 実際にやりたいこととしては、 1.[sample1.php]で定義した配列をどうにかして、[sample2.php]に送信 2.[sample2.php]で配列のパラメータを加工 3.加工したパラメータ配列を再度[sample1.php]に返す。 定義した配列のバイト数がかなり大きくなるためGET送信ではなくPOST送信を使用したいと考えています。 上記のような処理を行いたい場合、HTTP_Requestを使用するのが普通なんでしょうか?

関連するQ&A