Цитата:
|
А больше картинки не нашлось?
Последнее, подробнее и практически полное. Более писать подробности не буду. 1) Создать на сервере папку current, с правами 644 (уточнить у хостера), закрыв прямой доступ к ней через .htaccess, то есть поместить этот файл в папку current. Этот файл так и называется - с точкой вначале без всяких подстановок kurs и прочей белиберды, а также не имеет никакого расширения. В нем должны быть строки которые я ранее приводил. 2) Узнать - если на сервере cron выполняет скрипты из закрытого каталога, то код следующего файла поместить в папку current под именем current.php. Если нет, то поместить его под этим именем в корень документов (это там где и индексный файл), при этом код этого файла поместить в условие показанное ниже: <? if(PHP_SAPI == 'cli') { //тут далее код файла current.php, естественно без РНР тегов <? и ?> } ?> current.php <? $dir = dirname(__FILE__); chdir($dir); libxml_use_internal_errors(); if($xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.date('d/m/Y', strtotime('-2 day')).'&date_req2='.date('d/m/Y').'&VAL_NM_RQ=R01235')) { $last = round((float)str_replace(',', '.', current($xml->Record[0]->Value)), 2); $usd_prev = round((float)str_replace(',', '.', current($xml->Record[1]->Value)), 2); $usd_curr = round((float)str_replace(',', '.', current($xml->Record[2]->Value)), 2); chmod($dir, 0777); //уточнить у хостера file_put_contents('current.json', json_encode([ 'current' => [ 'date' => date('j.n.Y'), 'value' => $usd_curr, 'rate' => $usd_curr > $usd_prev ? '▲' : '▼' ], 'previous' => [ 'date' => date('j.n.Y', strtotime('-1 day')), 'value' => $usd_prev, 'rate' => $usd_prev > $last ? '▲' : '▼' ] ], JSON_UNESCAPED_UNICODE) ); chmod($dir, 0644); //уточнить у хостера } ?> Курс за три дня, чтобы динамику предыдущего дня получить. JSON ответа: {"current":{"date":"8.2.2018","value":56.95,"rate":"▼"},"previous":{"date":"7.2.2018","value":57.22,"rate":"▲"}} index.php <? header('Access-Control-Allow-Origin: http://h116641.s08.test-hf.su'); header('Vary: Origin'); header('Access-Control-Allow-Methods: GET'); header('Content-type: application/json; charset=utf-8'); exit(file_exists('current/current.json') ? file_get_contents(current/current.json) : json_encode(false)); ?> <Files *> к РНР отношения не имеет, это в .htaccess, в РНР файле это: <Files *> header .... просто вызовет фатальную ошибку. На клиенте: $.getJSON(url домена, function(data) { if(data) { //думаю дальше пояснять уже не надо } else { //еще не было сохраненного курса на сервере //решать не мне что делать, но можно на сервер поместит json файл, к котором прописать вручную данные, а cron обновлять будет } }) |
Цитата:
|
Цитата:
|
Спасибо всем кто
мне помогает очень благодарен. Но я не понимаю 70% что там выше написано))) в них добавил всё как есть выше. на хостинге www.host-food.ru есть крон. Что дальше делать? Я сижу в инвалидной коляске и делаю сайт небольшого портала города, решил вывести курс доллара в обычный числовой формат $ 56.77 ▲ Если кто может, покажите очень подробно что делать, дальше? |
spinastr,
может пора определится, что нужно? Читайте внимательно, вникайте, мечетесь как белка в колесе. Я выделил красным имя файла .htaccess для вас специально, чтобы раз и навсегда вы уяснили, что в рамках веб сервера Apache, это специальное зарезервированное имя. .htaccess.txt - это все что угодно, но не .htaccess xxxx.htaccess - это все что угодно, но не .htaccess xxxx.htaccess.txt - это все что угодно, но не .htaccess Правильно только так .htaccess !!! Это сложно тоже понять, что на севере должна быть такая структура каталог-файлы: current .htaccess current.php index.php Как правильно задать путь cron на файл current/current.php в описаниях планировщика на хостах написано, если нет возможности просто выбора файла. Выяснять прочие мелочи, о которых я писал вы должны сами, и не здесь на форуме, а в техподдержке хоста. Если так сложно это все понять и сделать, тогда используйте ту бодягу, с которой и началась тема, игнорируя, что у них явный баг имеется с датой/курсом. Либо ищите другие сервисы получения курса если не устраивает. |
laimas,
Нужно, передать курс цифры образец $ 56.77 ▲ Есть хостинг с кроном, на нём стоит динамическая обложка vk, скрипт, который берёт вакансии с сайта и через api ucoz, автоматически публикует объявление. (php дорого не подключа на самом юкозе) На хостинге создать скрипты которые передадут на мой сайт числа, который я от стилизую через php. Я понял про структуру, папка и в ней 3 файла. Так у меня и получилось. Что делать дальше? |
Цитата:
1) Есть ведь рабочий сайт, которому и нужны курсы, ну что мешает через FTP посмотреть структуру его каталогов/файлов? Хост выдает вам готовую структуру каталогов, в которой будут один особенный каталог, который и будет является доменом для доступа извне на этот хост. Этот каталог называется публичным и для домена является корнем документов. Имя этого каталога может быть какое угодно: docs, html, etc и прочие фантазии хоста. То есть запрос в браузере http://domain/ или http://domain означает, что сервер обеспечит доступ к публичному каталогу домена. Но чтобы браузер что-то получил сервер запускает индексный файл публичной папки. Имя индексного файла тоже может быть любым, это определяется настройками на сервере. По умолчанию для РНР, как серверного языка, таким именем является index.php. А когда говорят - "создать на сайте папку ....", то это означает - в корне документов (в публичной папке) создать эту папку. Если бы я сказал создать папку current для того чтобы в браузере иметь доступ к ней по адресу http://domain/current/, тогда бы сервер для ответа браузеру искал в этой папке также индексный файл, то есть таковой был бы нужен. Но я постоянно твержу, что эта папка будет закрыта для прямого доступа посредством файла .htaccess и запрос ее или любых файлов из нее вернет 403 - доступ запрещен. Это и требуется. То есть структура папок и файлов на сервере должна быть (в корне документов, хрен знает как этот каталог на вашем сервере называется) current - папка с файлами в корне документов, в ней 2 файла: .htaccess и current.php. Файл index.php расположен в корне документов, а не в папке current. Что непонятного? |
Не вываливайте картинки размером с футбольное поле, они бесят, ибо не всегда я за компом с экраном Full HD, могу и с меньшего разрешения работать.
2) На сервере под Unix системами папки и файлы имеют права, обычно у папок права 644, что и видно по вашей картинке. Но в папку с такими правами скрипт не сможет что-то записать, будет ошибка. Для этого дают права, бывает достаточно и 755, но чаще используют полные 777, а после записи вновь возвращают 644. Файл current.php записывает полученные курсы в файл в папку current, поэтому в скрипте и задаются права на папку функцией chmod(): chmod($dir, 0777); - тут дали права на запись записали в файл chmod($dir, 0644); - вернули прежние права Две эти строки кода имеют комментарий //уточнить у хостера. Дело в том, что права можно задать как 777 и как 0777. С нулем или нет, это и нужно определить, для этого есть техподдержка, да и просто faq на хосте по наиболее частым вопросам есть. Узнать и в коде прописать как надо - с нулем или без. |
laimas,
index.php Вытащить в корень? Может лучше из готового скрипта вытащить данные? |
Часовой пояс GMT +3, время: 15:36. |