/**
* Creates HTTP request using file_get_contents
*
* @param string $url Url to send the request
* @param string $method HTTP request method (GET, POST, PUT, DELETE, etc)
* @param bool $return_only_status If set to true, the method would only return response status
* @param mixed $content Content to be sent with HTTP request
* @param string $header Header to be set for the HTTP request
*
* @return mixed
*/
public static function httpRequestFopen($url, $method, $return_only_status = false, $content = null, $header = "")
{
$context = array(
'http' => array(
'method' => $method,
'request_fulluri' => true,
'timeout' => 10,
'user_agent' => 'phpMyAdmin',
'header' => "Accept: */*",
)
);
if ($header) {
$context['http']['header'] .= "\n" . $header;
}
if ($method == "POST") {
$context['http']['content'] = $content;
}
$context = Util::handleContext($context);
$response = @file_get_contents(
$url,
false,
stream_context_create($context)
);
if (! isset($http_response_header)) {
return null;
}
preg_match("#HTTP/[0-9\.]+\s+([0-9]+)#", $http_response_header[0], $out );
$http_status = intval($out[1]);
return Util::httpRequestReturn($response, $http_status, $return_only_status);
}