Алексей Барыкин - хитрый жук

26 февраля 2009 г.

Как вставить сапокод на html сайт без перелопачивания кучи файлов?

Часто на форумах спрашивают - как вставить код sape.ru на сайт, выполненный в голом html?

Начинаются попытки объяснить человеку, что надо заставить сервер обрабатывать php код в html файлах, во все html файлы вставлять этот код, при ошибке вставлять заново, всё это делать в ручную или с использованием жутких программ...

Ужас! Скажем дружно - нафиг нужно! Сделаем эту операцию программным путём.

Программый путь:

  1. Создать в корне сайта файл .htaccess и вставить в него следующий код, проводящий редирект на скрипт index.php с передачей параметра - имени html файла:

DirectoryIndex index.php
# Запуск mod_rewrite
RewriteEngine on
RewriteBase /
RewriteRule ^(.*.html?)$ index.php?url=$1

  1. Создать в корне сайта файл index.php и вставить в него следующий код:

if (!defined('_SAPE_USER'))
 define("_SAPE_USER",
  $_SERVER["DOCUMENT_ROOT"].'/'.'<ваш код>');

require_once(_SAPE_USER.'/sape.php');
$sape = new SAPE_client();
$sape_link = $sape->return_links();
if (isset($_GET['url']))
 $file_name = $_GET['url'];
else
 $file_name = 'index.html';
$content = file_get_contents($file_name);
$content =
 preg_replace('/<\/body>/Uis', $sape_link.'<'.'/body>', 
$content);
echo $content;

Как видно из примера, этим же способом можно подключать и коды других бирж.

Ярлыки: ,

Комментарии: 23:

  • а урлы не меняются после этого редиректа?

    Автор: Anonymous Анонимный, В 05.03.2009 13:17:00  

  • Не меняются

    Автор: Blogger Алексей Барыкин, В 05.03.2009 16:03:00  

  • однозначно в закладки )

    делал хоть и не совсем ручками, но все таки не настолько автоматически)

    Автор: Anonymous БезмозгоFF, В 08.03.2009 17:44:00  

  • создаю .htaccess,создаю .php файл с вашим кодом-не добавляется сайт.нужно ли редактировать файл index.html ? заранее благодарю!

    Автор: Blogger kirill, В 11.03.2009 11:28:00  

  • Можно и проще сделать. Прописываем
    AddType application/x-httpd-php php phtml html htm
    в .htaccess и все!!!

    Автор: Anonymous Александер, В 11.03.2009 12:29:00  

  • 2Александер
    Ума - палата!
    Сапокод вставится самостоятельно? ну-ну...

    Автор: Blogger Алексей Барыкин, В 12.03.2009 1:30:00  

  • Александр создаю .htaccess,создаю .php файл с вашим кодом-не добавляется сайт.нужно ли редактировать файл index.html ? заранее благодарю!

    Автор: Blogger kirill, В 12.03.2009 9:56:00  

  • Ваш блог продают на бирже сайтов. Это правда?

    Автор: Blogger bahor, В 13.03.2009 20:50:00  

  • Ага, за 20 рублей.
    Желающие есть? :)

    Автор: Blogger Алексей Барыкин, В 14.03.2009 12:25:00  

  • Только проверку добавить url на валидность, а то мало ли у кого где чего лежит ;)

    Автор: Anonymous Shadx, В 19.03.2009 9:43:00  

  • 4Shadx
    Там много чего можно вставить. :)
    Это не прямое руководство к действию, а общая методика.
    p.s. два сайта на html в сапу уже добавил по этой методе.

    Автор: Blogger Алексей Барыкин, В 20.03.2009 12:38:00  

  • у меня не получилось(
    sape - пишет, впишите url где есть код
    пришлось по старинке

    Автор: Blogger dert88, В 26.04.2009 12:37:00  

  • Алексей, подскажите, а каков код будет, если я просто хочу вставить файл с меню, например menu.php, в котором будет просто одна ссылка вида < a href="">Link< />

    Автор: Anonymous Анонимный, В 03.05.2009 15:41:00  

  • Вопрос. Алексей, а данный php код будет работать только с файлом index.html, или со всеми страницами .html ?
    P.S. Надо ли в коде прописывать что-нибудь, если станицы находяться не в корне, а в папках?

    Автор: Anonymous Анонимный, В 15.05.2009 23:08:00  

  • А вставить сапокод с помощью notepad++? с помощью инструмента "замена везде"? Помоему так проще =).

    Автор: Anonymous Anstak, В 17.05.2009 20:37:00  

  • хахахахах ...

    посмеялся над этим
    [code]
    $content = preg_replace('/<\/body>/Uis', $sape_link.'</body>', $content);
    [/code]

    ... видимо ПОЧОТНОМУ барыкину не позволяет религия пользоватеся функциями str_replace str_ireplace ..

    Автор: Blogger bearman, В 20.06.2009 19:10:00  

  • Товарищу bearman предлагается взять с полки пирожок.
    Высокой комиссией он признаётся Самым Чотким Программистом способным доебаться до набросков концепции.

    Автор: Blogger Алексей Барыкин, В 22.06.2009 16:43:00  

  • 4Anstak
    Проще ли?
    А если тысячи файлов?
    Их всех надо выкачать, заменить фрагменты текста и закачать обратно...

    4Анонимный
    Данный конкретный код (концепт) работает с *.html файлами.
    Доработать его под аналогичную задачу сможет любой маломальски знакомый с php.

    Автор: Blogger Алексей Барыкин, В 22.06.2009 16:48:00  

  • Спасибо!

    Автор: Anonymous Анонимный, В 07.07.2009 19:54:00  

  • хорошее решение. но не перегрузится ли сервер, реплейся большие массивы данных?

    Автор: Anonymous LifeMaker, В 14.07.2009 4:25:00  

  • одним блоком ссылки размещають будем? и непонятно где

    Автор: Anonymous Анонимный, В 24.09.2009 23:55:00  

  • Здравствуйте! Подскажите, на самих страницах .html вставлять в нужном месте код вида !--s_links-- !--check code-- !--/s_links-- или же php-код?
    Спасибо.

    Автор: Anonymous Анонимный, В 08.10.2009 21:43:00  

  • Указанный подход плох тем, что теперь для каждой страницы будет делаться preg_replace()

    Возможно, однократный прогон по всем файлам при помощи find (из командной строки) всё-таки проще и эффективнее.

    Автор: Blogger Константин Бояндин, В 10.03.2010 12:28:00  

Отправить комментарий



Ссылки на это сообщение:

Создать ссылку

<< Главная страница