Научите примитивным инклудам

Тема в разделе "PHP", создана пользователем Yus, 15 мар 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Yus

    Yus

    Регистр.:
    12 янв 2008
    Сообщения:
    255
    Симпатии:
    71
    Возникла проблема.
    При обновлении статичных сайтов больших объемов...приходится изменять все страницы...
    Знаю, что инклудами можно решить эту проблемы.
    Какой самый примитивный способ использовать инклуды? и есть ли способ задавать инклуды прямо в html страницах?
     
  2. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Самый простой способ: include('file.php');
    Если хочешь использовать в хтмл файлах, то пропиши в htaccess чтобы они обрабатывались соответствующим образом
     
  3. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    235
    Симпатии:
    51
    Ещё можно использовать SSI.
    В нужном месте страницы вставляешь следущий код:
    PHP:
    <!--#include file="file.html" -->
    Например можно это вставить в ячейку таблицы и реализовать меню сайта
    Файлы должны иметь расширение .shtml ну или опять же через .htaccess.
     
  4. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Я обычно использую опцию замены в папке или в открытых файлах программы DreamWeaver8
     
  5. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Смотри в сторону шаблонизаторов. Раньше я юзал инклуды. В каждом файле подключался хеадер и футер
    PHP:
    include('header.php')
    //тело страницы
    include('footer.php')
    в которых соответсвено была шапка и низ, а между ними сам скрипт. НО это не самый лучший способ, все равно от него уйдешь к шаблонизаторам ;)
     
  6. rosko

    rosko Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    24
    Симпатии:
    3
    Есть еще способ.

    Создаешь index.php, в нем что-то вроде

    <?php
    require_once 'header.inc.php';

    if (file_exists($_GET['page'])) {
    require_once($_GET['page']);
    }

    require_once 'footer.inc.php'

    ?>

    И еще делаешь кучу html страниц, в которых размещен просто текст без хидера и футера.

    По запросу http://site/?page=vasya будет искаться файл vasya, и если найдется, будет выводиться сразу с хидером и футером.

    Описанный способ очень и очень простой. И по большому счет очень небезопасен :) Но для начала хватит.
     
    honuryk нравится это.
  7. celerons

    celerons Создатель

    Регистр.:
    21 мар 2008
    Сообщения:
    34
    Симпатии:
    0
    Также можно к примеру вместо инклудов использовать более современные технологии, например AJAX или хотя бы яву.

    К примеру кусок кода.

    <script language="javascript" type="text/javascript">
    function Update (what)
    {
    //alert(page);
    //if(what=='add'){alert('add')}
    //if(what=='del'){alert('del')}
    //document.getElementById('contentS').innerHTML = what;
    document.getElementById('BUT').src = what; // Для мозиллы.

    //frames['BUT'].location.href = what; // Для мозиллы не подходит :(

    }



    ...
    <IFRAME src="news.php" width="500" height="500" scrolling="no" frameborder="0" Id="BUT" class="header"></iframe></div>

    <DIV ><A href="#c"><LI onclick="Update('add.php');"><b><font color=green>Добавить сайт</b></font></A></LI></DIV>

    Примитивно , но работает. Чем то похоже на обновление дивок, как реализовано на аяксе, для новичка данный способ в самый раз.
     
  8. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    Автору: если свяжешься с реализацией на пхп обрати внимание в сторону шаблонизатора smarty (можно подключить практически любой хтмл в любом удобном месте на странице, язык шаблонизатора осваивается за несколько часов - и шаблонизатор довольно гибок).


    Если свяжешься с DHTML и не более: почитай о frame ах

    http://www.htmlbook.ru/html/frame.html
    http://www.htmlbook.ru/content/?id=48
    http://www.htmlbook.ru/html/frameset.html

    структуре - как раз твой вариант - имеем несколько везде одинаковых документов и подключаемую изменяющуюся часть. Ну и можешь почитать об ajax (AHAH в твоем случае, асинхронный хтмл подгружающийся с сервера с помощью яваскрипта).
    http://ru.wikipedia.org/wiki/AHAH
    http://microformats.org/wiki/rest/ahah

    Роско. Не УЧИ ПЛОХОМУ!)
    Гораздо безопаснее сделать так:
    http://www.nulled.ws/showthread.php?t=53708
     
  9. angeld

    angeld Создатель

    Регистр.:
    17 мар 2008
    Сообщения:
    16
    Симпатии:
    2
    не, на смарти лучше не смотри, ajax намного легче и проще, сама система построения аякса строится на частичной перезагрузки страницы, без постоянных обновлений статичных элементов, типа футера и хедера, в то время как смарти, обрабатывает полностью все, и генерирует при запросе новую страницу, в тоже время, на смарти большое обращение к БД, создавая излишнюю нагрузку. Но решать тебе. Так что, если у тя много страниц, то просто возьми какой нить уже готовый движок да натяни на него диз и все
     
  10. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    Редиска! Ты чего советуешь?
    Конструктивная критика:
    - у автора есть полностью статический сайт - насколько видно из контекста вопроса. При чем здесь БД?
    - вопрос стоял в инклюдах и других ситуациях - при чем здесь ЦМС?
    - При чем здесь АJAX? Здесь скорее всего AHAH нужен)
    Номинальная критика:
    Номер раз:
    - нет никакого большего обращения к БД на смарти. Смарти - это шаблонизатор. Просто прослойка для отделения логики представления и серверной логики. С классами pear db вообще очень удобная вещь. Просто нет мешанины хтмл и пхп в коде. А элементы хтмл страниц создаются в секунды с гораздо меньшими трудозатратами. И где же там большее обращение к БД?)
    - никто тебе не мешает использовать AJAX библиотеки и запросы вместе со Смарти. "Технология" Асинхронной передачи данных к серверу вполне совместима с этим шаблонизатором. А при наличии множества уже готовых аякс библиотек твою фантазию в реализации связки яваскрипт - хмл - пхп - смарти - ограничивают только твои знания.
    - ну и напоследок. интересно окончилась фраза - просто возьми ЦМС, уже готовую. Да. Так легче. Но без знаний твое использование любой цмс будет до первой серьезной ошибки. По вине ли сервера, или программистов, или конкретной ситуации - это не важно.
     
Статус темы:
Закрыта.