PROBLEM
There are times when we have hosting on some shared server and for security reason, CURL functionality is not available on the server. We still want to take control of a certain scenario like making a post programmatically through PHP.
SOLUTION
Well there is an option available in PHP for the same.
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
Happy coding to you all programmers out there 🙂