[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: чем заменить file_exists()
arbuzmaster
Подскажите пожалуйста как еще можно сделать проверку перед выполнением simplexml_load_file(), документация по PHP ссылается на if(file_exists($file)) но в моём случае это не работает т.к. устройство просто генерирует xml ответ и в file_exists() всегда false хотя устройство включено и если убрать проверку то все работает?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
sergeiss
Не понял - ты загружаешь готовый файл или они откуда-то из потока идут?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
arbuzmaster
Цитата (sergeiss @ 12.09.2015 - 11:03)
Не понял - ты загружаешь готовый файл или они откуда-то из потока идут?

есть устройство - которое выдает ответ в xml формате (как он там формируется я точно не знаю но в запросе к нему нет файла (т.е запрос примерно такого вида - http://ip/cgi-bin/cmd?commad=play)

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
FatCat
Я не понял смысла проверки на файл.

_____________
Бесплатному сыру в дырки не заглядывают...
arbuzmaster
Цитата (FatCat @ 12.09.2015 - 13:08)
Я не понял смысла проверки на файл.

Сыплются ошибки в error.log если устройство недоступно

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
error_reporting(-1);
ini_set('display_errors', 1);

libxml_use_internal_errors(true);

$xml = simplexml_load_file('no_xml_file.xml');

$xml_errors = libxml_get_errors();

var_dump($xml_errors);


_____________
[продано копирайтерам]
arbuzmaster
Цитата (AllesKlar @ 12.09.2015 - 13:39)
error_reporting(-1);
ini_set('display_errors', 1);

libxml_use_internal_errors(true);

$xml = simplexml_load_file('no_xml_file.xml');

$xml_errors = libxml_get_errors();

var_dump($xml_errors);

Подскажите по какому параметру можно ориентироваться для дальнейшей обработки
array(1) { [0]=> object(LibXMLError)#1 (6) { ["level"]=> int(1) ["code"]=> int(1549) ["column"]=> int(0) ["message"]=> string(81) "failed to load external entity "http://192.168.0.18/cgi-bin/do?cmd=black_screen" " ["file"]=> string(0) "" ["line"]=> int(0) } }


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
в error.log все равно сыплются Warning, тогда может оставить isset и забить на Warning?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
Ну, как я понял, прежде всего нужно проверить, готово ли устройсво.
Что за устройсво, как ты к нему запрос даешь, что на нем крутится? Может в сокет стукнуться сначала, чтобы проверить готовность?

Цитата
забить на Warning

ну.. если тебя не смущает error.log в пару гиг... и головняк, когда в нем будешь искать другие ошибки...

_____________
[продано копирайтерам]
arbuzmaster
Я пробовал через ping (на php) но пинг не всегда проходит,хотя устройство работает. Сейчас попробую через сокет.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.