PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
Copy Clear
Copy Format Clear
<?php $url = 'google.com'; $options['http'] = array( 'method' => "HEAD", 'ignore_errors' => 1, ); $context = stream_context_create($options); $body = file_get_contents($url, NULL, $context); $responses = parse_http_response_header($http_response_header); $code = $responses[0]['status']['code']; // last status code echo "Status code (after all redirects): $code<br>\n"; $number = count($responses); $redirects = $number - 1; echo "Number of responses: $number ($redirects Redirect(s))<br>\n"; if ($redirects) { $from = $url; foreach (array_reverse($responses) as $response) { if (!isset($response['fields']['LOCATION'])) break; $location = $response['fields']['LOCATION']; $code = $response['status']['code']; echo " * $from -- $code --> $location<br>\n"; $from = $location; } echo "<br>\n"; } /** * parse_http_response_header * * @param array $headers as in $http_response_header * @return array status and headers grouped by response, last first */ function parse_http_response_header(array $headers) { $responses = array(); $buffer = NULL; foreach ($headers as $header) { if ('HTTP/' === substr($header, 0, 5)) { // add buffer on top of all responses if ($buffer) array_unshift($responses, $buffer); $buffer = array(); list($version, $code, $phrase) = explode(' ', $header, 3) + array('', FALSE, ''); $buffer['status'] = array( 'line' => $header, 'version' => $version, 'code' => (int) $code, 'phrase' => $phrase ); $fields = &$buffer['fields']; $fields = array(); continue; } list($name, $value) = explode(': ', $header, 2) + array('', ''); // header-names are case insensitive $name = strtoupper($name); // values of multiple fields with the same name are normalized into // a comma separated list (HTTP/1.0+1.1) if (isset($fields[$name])) { $value = $fields[$name].','.$value; } $fields[$name] = $value; } unset($fields); // remove reference array_unshift($responses, $buffer); return $responses; } ?>
Show:  
Copy Clear