Вы действительно можете получить нужные заголовки при использовании file_get_contents
. Эти заголовки доступны в массиве $http_response_header
, который PHP создает в глобальной области видимости.
Например, следующий код (где URI указывал на несуществующий ресурс на локальном сервере):
$contents = @file_get_contents('http://example.com/inexistent');
var_dump($http_response_header);
дает следующий результат:
array(8) {
[0]=>
string(22) "HTTP/1.1 404 Not Found"
[1]=>
string(22) "Cache-Control: private"
[2]=>
string(38) "Content-Type: text/html; charset=utf-8"
[3]=>
string(25) "Server: Microsoft-IIS/7.0"
[4]=>
string(21) "X-Powered-By: ASP.NET"
[5]=>
string(35) "Date: Thu, 28 Mar 2013 15:30:03 GMT"
[6]=>
string(17) "Connection: close"
[7]=>
string(20) "Content-Length: 5430"
}