arbuzmaster
12.09.2015 - 10:47
Подскажите пожалуйста как еще можно сделать проверку перед выполнением simplexml_load_file(), документация по PHP ссылается на if(file_exists($file)) но в моём случае это не работает т.к. устройство просто генерирует xml ответ и в file_exists() всегда false хотя устройство включено и если убрать проверку то все работает?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
sergeiss
12.09.2015 - 11:03
Не понял - ты загружаешь готовый файл или они откуда-то из потока идут?
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
arbuzmaster
12.09.2015 - 12:27
Цитата (sergeiss @ 12.09.2015 - 11:03) |
Не понял - ты загружаешь готовый файл или они откуда-то из потока идут? |
есть устройство - которое выдает ответ в xml формате (как он там формируется я точно не знаю но в запросе к нему нет файла (т.е запрос примерно такого вида -
http://ip/cgi-bin/cmd?commad=play)
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
FatCat
12.09.2015 - 13:08
Я не понял смысла проверки на файл.
_____________
Бесплатному сыру в дырки не заглядывают...
arbuzmaster
12.09.2015 - 13:17
Цитата (FatCat @ 12.09.2015 - 13:08) |
Я не понял смысла проверки на файл. |
Сыплются ошибки в error.log если устройство недоступно
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
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);
_____________
[продано копирайтерам]
arbuzmaster
12.09.2015 - 13:55
Цитата (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
12.09.2015 - 13:58
в error.log все равно сыплются Warning, тогда может оставить isset и забить на Warning?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
AllesKlar
12.09.2015 - 14:05
Ну, как я понял, прежде всего нужно проверить, готово ли устройсво.
Что за устройсво, как ты к нему запрос даешь, что на нем крутится? Может в сокет стукнуться сначала, чтобы проверить готовность?
ну.. если тебя не смущает error.log в пару гиг... и головняк, когда в нем будешь искать другие ошибки...
_____________
[продано копирайтерам]
arbuzmaster
12.09.2015 - 14:11
Я пробовал через ping (на php) но пинг не всегда проходит,хотя устройство работает. Сейчас попробую через сокет.
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом