4)
Я не буду разбираться что есть что среди ваших доменов, какой РНР, какой хочет курс у РНР. Я напишу условно, далее сами подставляйте реальное в код.
Пусть домен (сайт) запрашивающий курс валюты у ЦБ, это
http://domain_1
Домен который выводит курс на страницу и которому он и нужен, это домен
http://domain_2
Тогда код индексного файла будет таким:
<?
header('Access-Control-Allow-Origin: http://domain_2');
header('Vary: Origin');
header('Access-Control-Allow-Methods: GET');
header('Content-type: application/json; charset=utf-8');
exit(file_get_contents('current/current.json'));
?>
Я убрал проверку наличия файла курса, вот эту строку:
exit(file_exists('current/current.json') ? file_get_contents(current/current.json) : json_encode(false));
Приготовьте такой файл (current.json) и поместите его в папку current. Это можно сделать запустив и current.php, но не хочу еще кучи долгих пояснений, поэтому возьмите этот текст как исходный:
{"current":{"date":"8.2.2018","value":56.95,"rate" :"▼"},"previous":{"date":"7.2.2018","value":57.2 2,"rate":"▲"}}
В браузере запросить курс за три дня
http://www.cbr.ru/scripts/XML_dynami...L_NM_RQ=R01235, указав в параметрах: date_req1=минус два дня от текущей даты, date_req2=текущую дату, в формате dd/mm/YYYY. Ручками все просчитать, заменив в тексте выше, и этот текст сохранить в папке current под именем current.json.
На клиенте Ajax запрос будет к
http://domain_1/, а проверка пришел ли ответ будет уже не в плане есть ли уже курс на
http://domain_1, он гарантированно есть, а в плане вернул ли вообще сервер ответ (ошибки и т.п.).