場合によっては、サーバー側で POST/GET やその他のリクエストをシミュレートする必要があります。つまり、シミュレーションを PHP プログラムに実装する必要があります。言い換えれば、PHP プログラムで配列が与えられた場合、この配列を別のアドレスに POST/GET するにはどうすればよいでしょうか?もちろん、CURL を使用すると簡単ですが、CURL ライブラリを使用しない場合はどうなるでしょうか。実は、PHPにはすでに関連する関数が実装されており、その関数が次に説明するstream_context_create()です。
コードを直接表示します。これが最良の方法です
<?php$data = array( 'foo'=>'bar', 'baz'=>'boom', 'site'=>'www.example.net', 'name'=>'nowa magic'); $data = http_build_query($data); //$postdata = http_build_query($data);$options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $data //'timeout' => 60 * 60 // 超时时间(单位:s) ));$url = "http://127.0.0.1/test2.php";$context = stream_context_create($options);$result = file_get_contents($url, false, $context);echo $result;?>
<?php $data = $_POST;echo '<pre class="brush:php;toolbar:false">';print_r( $data );echo '';?>
配列
(
) [foo] => バー
[baz] => ブーム
[サイト] => www.example.net
[名前] =>