ホームページ > バックエンド開発 > PHPチュートリアル > PHP 関数: stream_context_create() は POST/GET をシミュレートします

PHP 関数: stream_context_create() は POST/GET をシミュレートします

WBOY
リリース: 2016-06-23 13:32:05
オリジナル
901 人が閲覧しました

場合によっては、サーバー側で 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;?>
ログイン後にコピー


test2.php のコードは次のとおりです:

<?php $data = $_POST;echo '<pre class="brush:php;toolbar:false">';print_r( $data );echo '
';?>
ログイン後にコピー

実行結果は次のとおりです:

配列
(
) [foo] => バー
[baz] => ブーム
[サイト] => www.example.net
[名前] =>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート