Проверка HTTP-ответа в PHP ниже 5 версии

EagleOwl

Новичок
Проверка HTTP-ответа в PHP ниже 5 версии

Искал-искал - не могу найти.
Знаю что в 5-й версии это делается при помощи get_headers(), но она у меня не работает.
Как проверить - по УРЛу пришел ответ 200 или какой-то другой?
Заранее спасибо.
 

McSimm

Новичок
Кто у кого что запрашивает ?

Ваш PHP скрипт делает какой-то запрос на какой-то URL?
Как он это делает ?

Что именно по вашему мнению в 5й версии делается с помощью get_headers() ?
 

ZN

Новичок
EagleOwl
извиняюсь, не так вас понял, думал вам нужны заголовки из запроса
посмотреть заголовки ответа можно stream_get_meta_data()
 

EagleOwl

Новичок
Нет. Вот пример из 5-го чтобы понятнее было.

PHP:
<?php
$url = 'http://www.example.com';
print_r(get_headers($url));
?>
Результат:
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 29 May 2004 12:28:13 GMT
[2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 438
[7] => Connection: close
[8] => Content-Type: text/html
)

Так вот мне нужно узнать - HTTP/1.1 200 OK или нет?

Это в 5-м так. А мне в четвертом надо.
 

McSimm

Новичок
вам ZN дал уже ответ.

приблизительно это может выглядеть так
обработку ошибок сами добавьте

PHP:
$fp = fopen('http://localhost/', 'r');
$s = stream_get_meta_data($fp);
print_r($s['wrapper_data']);
fclose($fp);
 
Сверху