Проверить, является ли объект действительным?

Я подписываю свои URL, чтобы они действовали только в течение определенного периода времени.

Когда URL-адреса являются недействительными, я получаю:

This XML file does not appear to have any style information associated with it. The     document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access denied</Message>
</Error>

Есть ли способ проверить объект, URL-адрес действителен или нет, если он недействителен, я хочу перенаправить пользователя на общую страницу ошибки.

0

Решение

Вы можете использовать функцию string file_get_contents(string $url) чтобы получить вывод URL,
затем проверьте, соответствует ли ответ указанному выше (имейте в виду, что «Этот XML-файл не имеет стиля …» не является частью ответа).

Вот пример:

<?php
if (file_get_contents("http://example.com/foo/bar") === $errorResponse) {
//There was an error
header("Location: http://example.com/redirect/");
}
?>

Если сообщение об ошибке не всегда одно и то же, вы можете использовать анализатор XML, чтобы проверить, <Error> существует или просто используйте регулярное выражение.

2

Другие решения

Других решений пока нет …