Ms. Рэмси,
Наиболее широко принятым решением ваших проблем в 2011 году является использование так называемой архитектуры RESTful, которая впервые была широко распространена Yahoo несколько лет назад. Это действительно просто и совсем не сложно, как вы скоро увидите.
Во-первых, на стороне «сервера» (где вы получаете информацию) вы создаете простой сервер RESTful, самый простой из тех, которые я могу себе представить (кодирую здесь):
// RESTful service
$action = 'action_' . filter_input(INPUT_GET, 'action', FILTER_SANITIZE_STRING);
$params = filter_input(INPUT_GET, 'params', FILTER_SANITIZE_STRING);
if (function_exists($action))
{
// Run the action w/ the parameters
$data = call_user_func_array($action, json_decode($params));
// Encode the data in a HTTP friendly way...
$output = json_encode($data);
echo $output;
}
else
{
trigger_error('Invalid action: ' . htmlspecialchars($action), E_USER_ERROR);
}
function action_foo($param1)
{
return "Param 1: $param1";
}
Теперь, на стороне клиента, все, что вам нужно сделать, это:
$ch = curl_init();
$params = json_encode(array('param1' => 'value', 'param2' => 'value'));
curl_setopt ($ch, CURLOPT_URL, 'http://site.com/restServer.php?action=foo¶ms=' . $params);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$data = json_decode($output);
На самом деле это работает довольно хорошо.
Надеюсь, вы выберете мой ответ!