Как отдавать .js файл из .php (инклуды на другие сайты)

Тема в разделе "PHP", создана пользователем alex-bot, 26 мар 2011.

Модераторы: latteo
  1. alex-bot

    alex-bot Nulled-Man

    Регистр.:
    4 май 2007
    Сообщения:
    497
    Симпатии:
    144
    В общем нужна типа банерокрутилка, хотел ставить скрипт какой-нибудь тизерки, но отказался, зачем лишний гемморой, когда нужно всего-то несколько строк кода.
    PHP:
      <?php
    $url
    = array();
    $url[1]="<a href='http://site.ru' target='_blank'><img src='http://site.ru/baner.gif' /></a>";
    $url[2]="<a href='http://site.ru' target='_blank'><img src='http://site.ru/baner.gif' /></a>";
    $url[3]="<a href='http://site.ru' target='_blank'><img src='http://site.ru/baner.gif' /></a>";
    $url[4]="<a href='http://site.ru' target='_blank'><img src='http://site.ru/baner.gif' /></a>";
    $url[5]="<a href='http://site.ru' target='_blank'><img src='http://site.ru/baner.gif' /></a>";
    $rnd=rand(1,5);
    echo 
    "'".$url[$rnd]."'";

    for (
    $i 0$i 5$i++) {echo (document.write("'".$url[$rnd]."'";))}
    ?> 
    Скрипт просто для примера о чем речь, и теперь вопрос:
    Как при обращении например
    http://site.ru/script.js скрипт брался из http://site.ru/script.php
    Как вариант нагуглил с помощью .htaccess в него пишем:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(.+).js$ /$1.php
    </IfModule>
    Только, так? Или может есть проще вариант какой? Как правильней это реализовать... Если у кого-то есть готовый простой скрипт, не отказался бы взглянуть...
     
  2. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Первый способ ты сам описал.

    Вот тебе второй:
    Тут все просто, создаешь новый файлик, Кодишь в нем соблюдая все PHP каноны, все что надо отдать пользователю просто принтишь, то есть просто выводишь то что необходимо в поток вывода, с помощью echo() или print(), что больше нравиться. Дальше сохраняешь файл с расширением js пример:
    banner.js

    Так а теперь второй момент это, заставить твой сервер выполнять файлы с расширением *.js как php скрипты, а точнее исполнять в них код PHP.

    Создаешь в папке со своим псевдо-JS скриптом файл .htaccess:
    в него добавляешь:
    HTML:
    RemoveHandler .js
    AddType application/x-httpd-php .php .js
    тут точно не помню что надо прописывать, но вроде так. Если работать не будет поищи в выдаче на тему выполнение PHP кода в HTML документах, ну или в смежных запросах.


    Ну а дальше надо надеяться что твой хостер не сЦука, и разрешил выполнять такие махинации.
     
    alex-bot нравится это.
  3. CnecHa3

    CnecHa3 Постоялец

    Регистр.:
    10 фев 2007
    Сообщения:
    105
    Симпатии:
    20
    может легче будет так:
    1. через ModRewrite делаешь .js
    2. в начале php-файла пишешь
    PHP:
    header("Content-type: application/x-javascript;chatset=utf-8");
     
  4. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    TC в старт посте вроде этот способ и описал, же!!! Его он не устраивает.
     
  5. alex-bot

    alex-bot Nulled-Man

    Регистр.:
    4 май 2007
    Сообщения:
    497
    Симпатии:
    144
    Т.е. эта строчка обязательна, если ПХП будет формировать скрипт? Там в примере, ее не было...
    PHP:
    header("Content-type: application/x-javascript;chatset=utf-8"); 
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    создаем файл php например js.php
    PHP:
     <?php 
    $url
    = array(); 
    $url[1]="<a href=\'http://site.ru\' target=\'_blank\'><img src=\'http://site.ru/baner.gif\' /></a>"
    $url[2]="<a href=\'http://site.ru\' target=\'_blank\'><img src=\'http://site.ru/baner.gif\' /></a>"
    $url[3]="<a href=\'http://site.ru\' target=\'_blank\'><img src=\'http://site.ru/baner.gif\' /></a>"
    $url[4]="<a href=\'http://site.ru\' target=\'_blank\'><img src=\'http://site.ru/baner.gif\' /></a>"
    $url[5]="<a href=\'http://site.ru\' target=\'_blank\'><img src=\'http://site.ru/baner.gif\' /></a>"
    $rnd=rand(1,5); 
    ?>
    res = '<?=$url[$rnd]?>';
    document.write(res);
    потом создаем script.js c кодом
    HTML:
    document.write('<sc'+'ript type="text/javascript" src="http://test/js.php"></sc'+'ript>');
    и подключаем на сайтах где это надо кодом
    HTML:
    <script language="javascript" src="http://test/script.js"></script>
    пробовал все работает
     
    alex-bot нравится это.
  7. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Ничего не надо придумывать, прямо в Html указывай для аттрибут src адрес на php скрипт. Прямо вот так:
    PHP:
    <script language="javascript" src="http://sait/script.php"></script>
    Расширение файла может быть любое, а не только .js.
     
    alex-bot нравится это.
  8. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    конечно будет работать :), но вопрос то был поставлен именно так