電子書籍の厳選無料作品が豊富!

色々調べましたが分からなかったので質問させてください。

ある配列データをmultipart/form-dataを使い送信したいと、
考えています
例)
[sample1.php]
$data = array("saitama","kanagawa","chiba");
//このsample1.phpファイルから$dataをmultipart/form-dataを使い、
//sample2.phpファイルに送信したいと考えています。

[sample2.php]
//$dataを受け取る

調べましたがフォームを介して送信する方法はいくつかありましたが、
フォームを使わずに送信する方法がわかりませんでした。
どなかた教えていただけないでしょうか。
よろしくお願いいたします。

A 回答 (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);
?>
    • good
    • 0

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

この回答への補足

回答ありがとうございます。
返信遅くなってしまってすいません。

>multipart/form-dataを使用したい理由は何でしょうか。
自分自身勉強不足でmultipart/form-dataの詳しいことは正直分かっていません。
まずそこから勉強ですね。。。

実際にやりたいこととしては、
1.[sample1.php]で定義した配列をどうにかして、[sample2.php]に送信
2.[sample2.php]で配列のパラメータを加工
3.加工したパラメータ配列を再度[sample1.php]に返す。
定義した配列のバイト数がかなり大きくなるためGET送信ではなくPOST送信を使用したいと考えています。
上記のような処理を行いたい場合、HTTP_Requestを使用するのが普通なんでしょうか?

補足日時:2009/10/18 18:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!