[PHP-users 5328] cURLのPOSTFILEDSに関して
PHP-ML User APTECH
php-users@php.gr.jp
Sat, 09 Feb 2002 22:01:44 +0900
関口です。
その後のcurlについてですが、RedHat7.2の環境でテストしてみました。
RedHat7.2では、curlもRPM化されており、何も問題なくcurlが使えました。
なお、TurboLinuxServer7ですが、TLJのサイトにRPMSにlibtool-1.4
(未保証)が有りましたので、試しにそれを使い buildconf,makeを
行いましたところ、同様にcurlが使えるようになり色々テストをしています。
その中で、連想配列に値をセットしてフォームにPOSTするスクリプトを
試してみましたが、値が相手のサイトに渡らず、$dataがブランクで
帰ってきてしまいます。(連想配列では渡せないのでしょうか?)
<?php
$ch = curl_init('http://www.test.com/test.php');
$submit = array( "name" => "tanaka hanako",
"email" => "email@test.com",
"comments" => "test comments");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $submit);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec( $ch );
echo $data;
?>
そこで、次のように定数で渡すと正常に値が渡って結果が返ってきます。
curl_setopt($ch, CURLOPT_POSTFIELDS,
'name=tanaka&email=email@test.com&comments=test comments');
しかし戻りの$dataの先頭には'tanakaemail@test.comtest comments'と
渡した内容が付いてきてしまいます。
渡すフィールドが1つであれば戻りには内容が含まれないのですが
これは仕様なのでしょうか?
度々で申し訳ございませんが、ご教示いただけませんでしょうか。
--
SEKIGUCHI Aptech inc.
PHP ML BOX
mailto:phpml@aptech.co.jp