handle json request in PHP
You will find unrecognised MIME types in $HTTP_RAW_POST_DATA
. You can also force PHP to always populate this array (not only for unrecognised MIME types) by setting the php.ini directive always_populate_raw_post_data
to true.
Raw post data will otherwise be available through the input wrapper php://input
For more information:
http://us.php.net/manual/en/wrappers.php.php
http://php.net/manual/en/reserved.variables.httprawpostdata.php
http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
above is technically correct, but since I don't write much PHP, this might be more helpful
xxx.php would be
<?php$file = fopen("test.txt","a");$post_json = file_get_contents("php://input");$post = json_decode($post_json, true);foreach($post as $key=>$value) { $message = $key . ":" . $value . "\n"; echo fwrite($file,$message);}fclose($file);?>
and then you can test with
curl -X POST -H "Content-Type: application/json" -d '{"fieldA":"xyz","fieldN":"xyz"}' http://localhost/xxx.php