Помогите с простым php скриптом

12
[Удален]
979

Вообщем есть n-ое количество html страниц, перелинкованных между собой. Мне нужно чтобы они открывались немного по другому:

index.php файл, в котором задано оформление header'a и footer'a, а в центре открывается сами html страницы.

Сейчас индексный файл выглядит так:

<?php

readfile('papka/index.htm');
?>

Футер и хедер я вставлю потом, это не проблема, НО, при такой структуре кода, открывается только papka/index.htm, а мне нужно чтобы и дальше, переходя по ссылкам со страницы papka/index.htm они открывались ВНУТРИ этого index файла.

Посоветуйте как быть, горю!!

dRiveR.dLL
На сайте с 25.09.2006
Offline
79
#1

Не совсем понял вопрос, но тем не менее, попробую ответить :)

Если содержимое файла index.htm будет присутсвовать на всех страницах сайта, то его нужно разделить на 2 части, в том самом месте, куда бы Вы хотели вставлять остальные страницы и верхнюю часть добавить к header, а нижнюю, соответсвенно в footer.

ixRock
На сайте с 14.11.2006
Offline
46
#2

я думаю надо прописать в .htaccess чтобы все *.htm обрабатывались через этот *.php файл... как не знаю точно, пойду покурю ман :)

Работаю [S]за еду и секас[/S] с XHTML, CSS, XSLT, JS, PHP. Если что, вот тут (http://www.mintdesign.ru/) некоторые мои работы. Контакты: ася 344-ноль86-276, мыло ixrock@gmail.com
[Удален]
#3

попробую объяснить иначе)

Есть html сайт следующей структуры

index.html

page1.html

page2.html

papka/page1.html

papka/page2.html

и так далее.

Т.е. все страницы обычные HTML. Хочу переделать так, чтобы вставив допустим счетчик он был на всех страницах. Таким образом если сделать один файл с хедером и футером, в котором будет открыватся все файлы, то достаточно поставить счетчик только в index.php, в футер. А так придется вставлять в ....2500 страниц)

dRiveR.dLL
На сайте с 25.09.2006
Offline
79
#4

создаете 2 файла:

header.inc


<html>
<head>
<title>мой сайт</title>
</head>
<body>

footer.inc


<!-- Yandex CY-->
<a href="http://www.yandex.ru/cy?base=0&host=https://searchengines.guru/"> <img src="http://www.yandex.ru/cycounter?https://searchengines.guru/" width="88" height="31" alt="Яндекс цитирования" border="0"> </a>
<!-- End Yandex CY -->
</body>
</html>

а потом в каждый файл (file1.html, file2.html, file3.html), перед контентом вставляете...


<?php
include('header.inc');
?>

..а после контента..


<?php
include('footer.inc');
?>

Таким образом ИЦ searchengines будет выводиться в подвале каждой страницы. Пример очень грубый, но надеюсь суть ясна и надеюсь правильно понял задачу :)

Ну и расширения файлов соответсвенно нужно будет сменить на file1.php, file2.php и т.д.

_mihey
На сайте с 15.07.2005
Offline
199
#5

почту кинь - скину решение. Но страницы будут динамическими вместо статики.

Или, если статику надо, руками прописывать в каждый файл инклюд с футером для php или <!--#include virtual="/inc/header.inc" -->, если php нету

Куплю размещение статей с трансляцией в Я.Новости (/ru/forum/833079)
R2
На сайте с 01.02.2007
Offline
28
#6

в .htaccess:

RewriteBase /

RewriteRule ^(.*)\.htm$ index.php?page=$1 [L]

в самом index.php:

<?php

readfile($_GET['page']."htm");

?>

НО! уже существующие файлы все равно придется переделывать.

Ведь иначе код, который в header и footer будет вне тегов <html>

[Удален]
#7

Сделал как посоветовал dRiveR.dLL.

Правда переименование всех страниц, а следовательно и ссылок оч геморно. Вышел вот как:

Прописал

AddType application/x-httpd-php .php .htm .html
в htaccess, теперь достаточно добавить в конце файла код для футера

<?php

include('footer.inc');
?>

прямо в html файл. Если будут ещё варианты - готов выслушать, если не будет - буду тогда прописывать 2500 раз

<?php

include('footer.inc');
?>
SF
На сайте с 11.10.2005
Offline
137
#8
bnbs:
готов выслушать, если не будет - буду тогда прописывать 2500 раз

а че слушать, прописывать надо... :)

если работаете с dremweaver-ом то поиск и замена вам в руки.

ищите

</body>
</html>

и меняете на

<?php
include('footer.inc');
?>

dremweaver меняет это за 5 минут на 2500 страницах

Инструкция: Как Правильно Делать Сайты: Домен, Хостинг, Установка CMS (http://www.3sd.ru/kak-delat-site/index.php).
ixRock
На сайте с 14.11.2006
Offline
46
#9

если как писал Raul21 в .htaccess то можно регулярными выражениями выцеплять шапку из существующих хтмлок и пихать её под добавленный HEADER.... а если ничо не менять в файлах то вот еще вариант один :)

в .htaccess пишем:

AddType application/x-httpd-php .php .htm .html

php_value auto_prepend_file "/home/mydomain/www/header.html"

php_value auto_append_file "/home/mydomain/www/footer.html"

R2
На сайте с 01.02.2007
Offline
28
#10

bnbs, только не понял, зачем htaccess трогать

Вы тем самым прогоняете все статические файлы через PHP-интерпретатор -

доп. нагрузка, да и не нужно здесь это - страницы то уже готовые...

лучше уж сделать, как сказал _miheySellingFeis )

<!--#include virtual="/inc/header.inc" -->

(ИМХО),

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий