0

phpでcurlを学ぼうとしています。curl を使用して post メソッドで別のスクリプトに値を送信できることはわかっています。しかし、それが必要な場合は、最初にその値を送信した後、そこで実行され、post メソッドで再び返されます....それは可能です。ここに私の2つのスクリプトがあります:

インデックス.php

<?php
$url = 'http://localhost/curl/test.php';

$post_data = array(
  'first' => '1',
  'second' => '2',
  'third' => '3'
  );

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

print_r($output);
?>

およびtest.php

<?php
$a = $_POST['first'];
$b = $_POST['second'];

$c = $a+$b;
$d = $b-$a;
$e = $a*$b;

$output =  array(
  'choose' => $c,
  'choose1' => $d,
  'choose2' => $e
  );

print_r($output);
?>

ここで index.php は post メソッド経由で送信され、$_POST['first'] でアクセスできます。ここから $output 配列を test.php に転送し、index.php から $_POST['choose'] としてアクセスできるようにしたい場合、それは可能ですか?

4

2 に答える 2

1

print_r($output); の代わりに test.php で関数モジュールを作成し、データを処理して以下を返します。

return $output;

index.php, $output = curl_exec($ch); 正しい場合、最終的には次の方法でデータにアクセスできます。

echo $output->choose;
echo $output->choose1;

または上記の Jasonのようにparse_str()またはを使用します。json_decode()

于 2013-04-22T13:59:47.913 に答える