皆様には、いつもお世話になっております。
送り側のPHPからJSONデータを受けてのPHPに渡して、そのリプライを表示する動作を確認するために、
学習サイトに掲示されているサンプルを例に実行してみましたが、うまく動作してくれません。
《送り側のPHP:send.php》
php
1<?php 2// 送信データ 3$data = array( 4"key1" => "value1", 5"key2" => "value2" 6); 7// JSON形式に変換 8$data = json_encode($data); 9// ストリームコンテキストのオプションを作成 10$options = array( 11// HTTPコンテキストオプションをセット 12'http' => array( 13'method'=> 'POST', 14'header'=> 'Content-type: application/json; charset=UTF-8', //JSON形式で表示 15'content' => $data 16) 17); 18// ストリームコンテキストの作成 19$context = stream_context_create($options); 20// POST送信 21$contents = file_get_contents('./reception.php', false, $context); 22// reception.php のレスポンスを表示 23echo "contents => $contents";
《受けてのPHP:reception.php》
php
1<?php 2// POST の生データの読み込む 3$json_string = file_get_contents('php://input'); 4// JSON形式で表示 5echo "JSON形式:".$json_string.""; 6echo "PHP変数に変換:"; 7// JSON エンコードされた文字列を PHP の変数に変換 8$contents = json_decode($json_string); 9// reception.php のレスポンスを表示 10print_r($contents);
《実行した結果》
contents =>
となり、なにもリプライされてこない状態です。
##確認してみたこと
ブラウザのデベロッパーで確認したところ下図のように、reception.phpのソースがそのまま
コメントとして$contentsに格納されているような状態でした。
###原因と対策、ご教示いただければ助かります。
回答2件
あなたの回答
tips
プレビュー