[PHP-users 26794] Re: サーバー間のデータ受け渡し

nomoto shin-1 @ ca2.so-net.ne.jp
2005年 9月 6日 (火) 23:11:29 JST


  nomotoです。

tkさんがcgi-mlで今続けている話題とA,Bが逆になっています?
両方読んでいるもので、少し混乱してしまいました。

PHPのfile関数にhttp://とURLを記載したときは、file関数がブラウザの
ような動作をします。指定されたURLを呼び出して、返されてきた結果
イメージを$fooに取り込みます。
cgi-mlの回答の中にあったLWP::Simpleのget関数も同じ動作をします。
またPHP-MLの別回答にあったwgetという外部プログラムも、Linux上で動く
テキストブラウザのようなものです。

ようは、皆さんが書かれているのはどれも、メール転送を受けて起動した
スクリプトからは、ブラウザで開くのと同様に他サーバのPHPスクリプトを
呼び出してあげればいいでしょうという事です。

メールアドレスだけのように単純なデータであれば?でつけてGET方式で
PHPスクリプトを呼び出せばいいと思いますが、メールの本文も渡さない
といけないような場合は、それぞれの言語や関数にHTTP通信のPOSTで
データを投げて指定URLを呼び出す同様の機能がありますので、それを
使えばいいと思います。

呼び出されたPHPスクリプトの出力結果(HTMLなど)は、呼び出したPerl
スクリプト内の変数に入ってきますので、その内容を解析すれば相手の
PHPスクリプトが正常に処理できたかどうかも確認できると思います。

あとは、PerlのHTTP通信関数の話題になったらcgi-mlですかね。

>>Aサーバー側で、
>>
>>$foo = file("http://b-server/hoge.php?mail=mailbox@example.jp");
>
>現在Aサーバー側でメールのデータを取得しているのが、Perlスクリプトなもので、
>上記の$foo=file("http://b-.....");
>というのをすぐに試すことができておりません。
>とりあえず、上記の内容でphpスクリプト作成し、ブラウザーから起動すると、
>Bサーバーで、GETできました。
>(でも、このfileという関数が良くわからないのですが。)


PHP-users メーリングリストの案内