|
| |
|
|
| |
для: Loki
(15.11.2006 в 22:45)
| | | Именно так!
Код, составленный Loki, был правильным с самого начала, а моя проблема проистекала из того, что у меня установлена устаревшая версия рнр. Loki сделал наладку непосредственно на моем сайте, за что ему огромная благодарность и низкий поклон! Сейчас через деланный Loki скрипт люди уже читают книгу, над размещением которой я бился три дня, да и еще пришлось бы неизвестно сколько потратить времени! Большое спасибо Вам, Loki, за помощь и за отзывчивость! | |
| |
|
|
| |
|
|
| |
для: Владимир55
(15.11.2006 в 21:24)
| | |
$pages=explode("----##----", chunk_split($text, $len, "----##----")); //разбиваем книгу на страницы
|
Эта строчка для версий php < 5.
Для пятерки работает скрипт написанный выше. | |
| |
|
|
| |
|
|
| |
для: Владимир55
(15.11.2006 в 10:08)
| | | Созданный Loky скрипт показа книг прост и очень удобен. Я не исключаю возможности, что и кто-то другой захочет его использовать. И поэтому привожу окончательную редакцию скрипта, который Loky в последний момент немного поправил.
<?
$len=2000; //символов на странице
$book="book.txt"; //файл с книгой
$page=intval($_GET['page']); //номер текущей страницы получаем из url
$text=file_get_contents($book); //считываем файл целиком
$pages=explode("----##----", chunk_split($text, $len, "----##----")); //разбиваем книгу на страницы
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Книга. Часть <?=$page+1 ?></title>
</head>
<body>
<p><a href="http://www.site.ru">На главную страницу сайта</a></p>
<p>Часть <span lang="en-us"><?=$page+1 ?></span></p>
<p align="left">
<?
echo $pages[$page]; //выводим текущую страницу
?>
</p>
<p align="left">
<?
//а тут у нас навигация
if ($page) echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">назад</a>"; //если страница не первая, то выводим ссылку на предыдущую
if ($page!=count($pages)-1) echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\"> вперед</a>"; //если страница не последняя, то выводим ссылку на cледующую.
?>
</p>
</body>
</html> | |
| |
|
|
| |
|
|
| |
для: Loki
(15.11.2006 в 13:52)
| | | Loki!
Дело в том, что этот скрипт (цепочка шаблонов) у меня не работает! Я перепробовал и перепроверил все, что только мог, но он не работает. Полную диагностику я написал на Форуме выше. Единственное, что мне осталось - это попросить Вас прислать Ваш файл и проверить его у себя. Иначе вся проделанная Вами работа для меня бесполезна... | |
| |
|
|
| |
|
|
| |
для: Владимир55
(15.11.2006 в 13:26)
| | | Файл берите из поста выше, а книгу можете взять такую
book.txt
Smarty templates
Рано или поздно начинает как-то нервировать, когда при смене дизайна тебя отрывают от других проектов, потому что чтоб сменить дизайн, надо лезть внуть PHP-страниц и что-то там менять. А дизайнер этого делать и подавно не собирается (а может просто не умеет).
Собственно, для меня это и стало толчком в сторону концепции "разделения данных и представления".
В самом простом случае мы можем использовать HTML-шаблоны. Что это такое? Средство, позволяющее вынести из РНР весь HTML в отдельные файлы. Но данные туда вставлять все-равно надо, скажите вы. Да, надо, и для этого служит свой простой синтаксис, и никакого РНР-кода вперемежку с HTML!
Такова идея движка шаблонов Smarty. Я бы сказал, что это очень удобная штука, если применять ее с умом.
Итак, в первую очередь нам понадобится сам шаблонизатор. Берем и разваливаем его в какую-то папку в нашем www. После этого топаем сюда и читаем ускоренный курс обучения.
Как правило, все должно заработать. Если же все так просто с первого раза не запустилось, то давайте напишем обертку для класса Smarty.
Для начала, немного теории. Смарти при парсинге шаблона генерирует его PHP-код. Для увеличения быстродействия он его сохраняет в своем кеше и в следующий раз отдает его оттуда уже без повторной генерации (это папка template_c, у которой должны быть права на запись для апача).
| |
| |
|
|
| |
|
|
| |
для: Loki
(15.11.2006 в 13:23)
| | | Может у меня в настройках поискать причину? Может код доступа к файлам не тот?
Можете ли Вы приложить созданный Вами файл и книгу, которые точно работают у Вас? | |
| |
|
|
| |
|
|
| |
для: Loki
(15.11.2006 в 13:02)
| | | Ну а почему же у меня-то не работает???
Код перенес один в один - просто создал новую страничку с именем 1.htm
Имя книги так и оставил: book.txt
Что получилось:
Имя страницы после запуска - Книга. Часть <?=$page+1 ?> Прямо так и пишет вверху страницы на синем поле.
Содержание книги не выводит. А пишет только это:
=================
На главную страницу сайта
Часть
назад"; //если страница не первая, то выводим ссылку на предыдущую if ($page!=count($pages)-1) echo " вперед"; //если страница не последняя, то выводим ссылку на cледующую. ?>
=================
При этом слово "вперед" как ссылка (а за ней Not Found), а слово "назад" просто как слово!
Может код каким-то диковинным образом искажается при его переносе со страницы Форума в редактор? | |
| |
|
|
| |
|
|
| |
для: Trianon
(15.11.2006 в 13:18)
| | | это в планах будущей CMS, начатой в предыдущем посте:) | |
| |
|
|
| |
|
|
| |
для: Loki
(15.11.2006 в 13:13)
| | | а закешировать? :) | |
| |
|
|
| |
|
|
| |
для: Владимир55
(15.11.2006 в 12:40)
| | | >3. Я не нашел функции сохранения созданной страницы. Где она?
добро пожаловать в мир динамических страниц:) | |
| |
|
|
|