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

savenko

Новичок
Здравствуйте, уважаемые коллеги!
Есть вопрос:
Клиент отправит мне запрос в формате domen.ru?request=true тем самым инициализирует загрузку файла в формате xml в виде:
<info>
<game_name>test</game_name>
<price>50</price>
</info>

Как принимать такой файл? И выдать в случае успешного получения файла "true",
или при неудаче - "false"?
Если бы я читал бы инфу из файла то вопросов не было бы а тут не понимаю. Плиз хелп...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ну а как ты собственно обрабатываешь обычные файлы? Так же и обрабатывай. В конце пишешь true, если все ок. Только вот твой request=true непонятно при чем.
 

savenko

Новичок
Хочу воспользоваться вот такой функцией $xml = simplexml_load_string($xmlstr); а откуда мне взять $xmlstr (т.е. наши xml данные) ? Если он не находится на этом же сервере а получается с удаленного источника? Как мне занести эти данные в переменную $xmlstr?
Видимо имеется ввиду
if ($_GET ['request']==true){
тогда принимаем данные
echo "true";
} else {
echo "false";
}
Видимо так
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
savenko
а вот чего не пойму, так это того, что именно ты пишешь. Зачем тебе вообще $_GET ['request']? Если ты так хочешь, чтобы тебе приходил хоть сколь-нибудь авторизованный файл то делай через механизм на подобии:

PHP:
if (!empty($_GET ['requestToken']) && !empty($_GET['xml_file_path'])){
//читаем файл с удаленного сервака бла-бла...
echo "true";
} else {
echo "false";
}
 

savenko

Новичок
Это не мне а так в ТЗ написано ну ладно не суть важно.
Важно как получить данные с удаленного сервера я не понимаю...
 

shelestov

я тут часто
Хочу воспользоваться вот такой функцией $xml = simplexml_load_string($xmlstr); а откуда мне взять $xmlstr (т.е. наши xml данные) ? Если он не находится на этом же сервере а получается с удаленного источника? Как мне занести эти данные в переменную $xmlstr?
Видимо имеется ввиду
if ($_GET ['request']==true){
тогда принимаем данные
echo "true";
} else {
echo "false";
}
Видимо так
PHP:
$xmlstr = file_get_contents("http://site.com/xml.xml?query=?");
$xml = simplexml_load_string($xmlstr);
Так его получать.
В идеале file_get_contents заменить, например на curl.
 

savenko

Новичок
Я не знаю где именно он находится на другом сервере поэтому не могу задать адрес... подсказали что вроде как можно написать $xml=file_get_contents('php://input'); т.е. типа POST метод
 
Сверху