This may be a slightly better way to catch all from http protocol:
<?php
function return_http($stringUrl, $header=true){
//brief check if it's right format
if(substr($stringUrl, 0, 7) !== 'http://' && substr($stringUrl, 0, 8) !== 'https://')
return die('Argument passed in function should be URL string starting with http:// or https://, other given');
//if $header is left to be true, we'll return array with headers and content
if($header){
return array('content'=>file_get_contents($stringUrl), 'header'=>$http_response_header);
} else return file_get_contents($stringUrl); // if not we'll get string with content
}
?>
$http_response_header
(PHP 4 >= 4.0.4, PHP 5)
$http_response_header — Encabezados de respuesta HTTP
Descripción
El array $http_response_header es similar a la functión get_headers(). Cuando se hace uso de HTTP wrapper, $http_response_header será poblado con los encabezados de respuesta HTTP. $http_response_header será creada en el ámbito global.
Ejemplos
Ejemplo #1 Ejemplo de $http_response_header
<?php
function get_contents() {
file_get_contents("http://example.com");
var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
?>
El resultado del ejemplo sería algo similar a:
array(9) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
[2]=>
string(29) "Server: Apache/2.2.3 (CentOS)"
[3]=>
string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
[4]=>
string(27) "ETag: "280100-1b6-80bfd280""
[5]=>
string(20) "Accept-Ranges: bytes"
[6]=>
string(19) "Content-Length: 438"
[7]=>
string(17) "Connection: close"
[8]=>
string(38) "Content-Type: text/html; charset=UTF-8"
}
NULL
miloshio at gmail dot com ¶
4 months ago
