simplexml_load_file()
çağrısından HTTP yanıt kodu almak için, bildiğim tek yol PHP'nin az bilinen $http_response_header
kullanmaktır. Bu değişken automagically ayrı ayrı yanıt başlığını içeren bir dizi olarak oluşturulur, her HTTP sargı üzerinden bir HTTP isteği yapmak. Diğer bir deyişle, her "http://" ile başlayan bir URL ile simplexml_load_file()
veya file_get_contents()
kullanın
Bir print_r()
gibi ile içerik inceleyebiliriz
$xml = @simplexml_load_file($request_url);
print_r($http_response_header);
Senin durumunda olsa da, file_get_contents()
then, test whether you got a 4xx response, then if not, pass the body to simplexml_load_string()
ile ayrı ayrı XML almak isteyebilirsiniz. Örneğin:
$response = @file_get_contents($request_url);
if (preg_match('#^HTTP/... 4..#', $http_response_header[0]))
{
// received a 4xx response
}
$xml = simplexml_load_string($response);