Запуск php кода в html файле

Тема в разделе "Как сделать...", создана пользователем kuminov, 28 окт 2015.

Статус темы:
Закрыта.
  1. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    66
    Симпатии:
    10
    Доброго времени суток.
    Форумчане, я пытаюсь перенести скрипт с wordpress на htmlный сайт и столкнулся с такой бедой.
    на WP работает скирпт, который с помощью шоткода выводит данные (с сайта нацбанка берет курс валют и ставит значения на странице. к примеру: стоимость товара 100 долларов в нац валюте = шоткод [inbel val="110"] = итог в сумме нац валюты). как теперь сделать также чтобы сработало на обычном htmkном сайте?
    вот скрипт:
    <?php
    function xmlReader($pathFile,$code){
    $xml = simplexml_load_file($pathFile);
    foreach ($xml->Currency as $item) {
    if ($item['Id'] == $code) {
    $result = $item->Rate;
    break;
    }
    }
    return $result;

    }
    function inbel($atts) {
    extract(shortcode_atts(array(
    "val" => 0
    ), $atts));
    $localFilePath=$_SERVER['DOCUMENT_ROOT'].'/'.'Currency.xml';
    $currentDate= date('m/d/Y');
    $url = "http://www.nbrb.by/Services/XmlExRates.aspx?ondate=$currentDate";
    $code = 145;
    if (file_exists($localFilePath)) {
    $xml = simplexml_load_file($localFilePath);
    if ($xml){
    $result=xmlReader($localFilePath,$code);
    }
    else {
    $result=xmlReader($url,$code);
    }
    }

    return number_format($result*$val);


    } function inrur($atts) {extract(shortcode_atts(array("val" => 0), $atts));$localFilePath=$_SERVER['DOCUMENT_ROOT'].'/'.'Currency.xml';$currentDate= date('m/d/Y');$url = "http://www.nbrb.by/Services/XmlExRates.aspx?ondate=$currentDate";$code = 190;if (file_exists($localFilePath)) { $xml = simplexml_load_file($localFilePath); if ($xml){ $result=xmlReader($localFilePath,$code); } else { $result=xmlReader($url,$code); } }$currancyInBel= preg_replace("/\D/","",inbel($atts));return number_format($currancyInBel/$result);} function ineuro($atts) {extract(shortcode_atts(array("val" => 0), $atts));$localFilePath=$_SERVER['DOCUMENT_ROOT'].'/'.'Currency.xml';$currentDate= date('m/d/Y');$url = "http://www.nbrb.by/Services/XmlExRates.aspx?ondate=$currentDate";$code = 19;if (file_exists($localFilePath)) { $xml = simplexml_load_file($localFilePath); if ($xml){ $result=xmlReader($localFilePath,$code); } else { $result=xmlReader($url,$code); } }$currancyInBel= preg_replace("/\D/","",inbel($atts));return number_format($currancyInBel/$result);}
    add_shortcode('inbel', 'inbel');add_shortcode('inrur', 'inrur');add_shortcode('ineuro', 'ineuro');
    ?>

    сделал отдельный файл php и закинул в корень. но вопрос в php есть понятие шоткод или на html это нельзя вывести?
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Внутри html файла можно подключить другой файл с помощью например фрейма.
    В том числе так можно подключить и PHP файл.
     
  3. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    66
    Симпатии:
    10
    подключить не проблема, а как дать шоткод? и если валюта не одна, а несколько?
     
  4. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Я не понимаю, что такое шоткод. В русском языке нет такого слова. В английском, белорусском, украинском, немецком тоже.
    Других не знаю.
     
  5. imbagw

    imbagw Писатель

    Регистр.:
    21 мар 2008
    Сообщения:
    3
    Симпатии:
    1
    Попробуй так, заинклюдив файл
    <?php echo inbel(110); ?>
     
  6. funnywheel

    funnywheel WordPress developer

    Регистр.:
    6 авг 2010
    Сообщения:
    199
    Симпатии:
    126
    в PHP понятия shortcode нет.

    shortcode - конструкция WordPress'a, которая служит для вызова функции с параметрами или без, вставляется непосредственно в тело поста прямо в редакторе в админке вот таким образом:
    PHP:
    [shortcode]
    или через метод WordPress'a в теле шаблона
    PHP:
    echo do_shortcode('shortcode');

    у Вас есть три функции и для каждой из них объявлено по одноименному шорткоду
    PHP:
    // Объявление шорткодов
    add_shortcode('inbel''inbel');
    add_shortcode('inrur''inrur');
    add_shortcode('ineuro''ineuro');
    каждый из этих шорткодов просто сделает вызов функции
    PHP:
    // Шорткод в редакторе поста в админке WP
    [inbel val="1000"]
    [
    inrur val="1000"]
    [
    ineuro val="1000"]
    // Вызов функции в php
    inbel('1000');
    inrur('1000');
    ineuro('1000');
    так что просто запустите функции и удалите регистрацию шорткодов
     
  7. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    66
    Симпатии:
    10
    хм. может я не правильно выразился. у меня этот скрипт стоит на WP и он работает нормально, в хосте еще настроен крон, чтобы он тянул курсы в определенное время. и вот тоже самое я пытаюсь реализовать на 5ти страничном сайте html. хочу отдельный файл php кинуть к корень дабы на html странице просто выводились значения в разных валютах.
     
  8. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15
    У вам сам скрипт работает как плагин ?
     
  9. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    66
    Симпатии:
    10
    на wp нет. скрипт в файле function.php и шоткоды на странице.
     
  10. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15
    Можно сделать так
    Скопировать функцию и создать файл с разметкой html и функцией но расширение будет у страницы php
     
Статус темы:
Закрыта.