leni_m
@leni_m
ЧупаКобрус

Как сделать проверку на загрузку xml файла?

Загружаю xml файл валют с помощью
$xml = simplexml_load_file('url из интернета');
$usd = (string)$xml->Valute[10]->Value;
$eur = (string)$xml->Valute[11]->Value;

Но когда нет соединения с интернетом выводится ошибка
Warning: simplexml_load_file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/leni_m/www/lk.local/public_html/views/template/header.php on line 2

Warning: simplexml_load_file(url из интернета): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/leni_m/www/lk.local/public_html/views/template/header.php on line 2

Warning: simplexml_load_file(): I/O warning : failed to load external entity "url из интернета" in /home/leni_m/www/lk.local/public_html/views/template/header.php on line 2

Как можно избежать вывода ошибки?
P.S. Самая первая строка почему-то возвращает ошибку, а не false
$xml = simplexml_load_file('url из интернета');
  • Вопрос задан
  • 555 просмотров
Решения вопроса 3
samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer
Try {
// do something
} catch(\Exception $e) {
// catch something
}

Try catch
Ответ написан
Комментировать
@zRrr
Это всего лишь предупреждения, которые говорят, что они не могут открыть поток из-за отсутствия интернет соединения. Можно их убрать с помощью: "error_reporting(~E_WARNING);".
Ответ написан
Stalker_RED
@Stalker_RED
Если "избежать вывода ошибки" это значит "ну и пофиг, что не работает, главное что ошибку не видно" то вот простейший способ:
$xml = @simplexml_load_file('url из интернета');
if (!$xml) die ('ой всё!');
И добро пожаловать в ряды быдлокодеров.

А по хорошему, try ... catch и последующая обработка.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 18:27
200000 руб./за проект
26 апр. 2024, в 18:24
80000 руб./за проект
26 апр. 2024, в 18:00
500 руб./за проект