mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterСегодня238
mod_vvisit_counterВчера163
mod_vvisit_counterНа этой неделе996
mod_vvisit_counterНа прошлой неделе1863
mod_vvisit_counterВ этом месяце663
mod_vvisit_counterЗа прошлый месяц5665
mod_vvisit_counterЗа всё время6328

We have: 1 guests online
Вашr IP: 38.107.191.116
 , 
Сегодня: 04 09, 2010
Как написать вывод статей на страницы сайта на PHP. PDF Печать E-mail

Для начала поставим задачу скрипта: вывод на страницы сайта некатегоризировнного набора статей. Все статьи будут храниться в одном из каталогов сайта в текстовых файлах. Сами статьи содержат HTML разметку, что вполне соответствует требованиям большинства автообменников. Скрипт вывода и шаблон страницы сайта поместим там же.

Далее приступим к написанию скрипта. И, как водится, сначала составим план работы.

  1. Сперва прочитаем шаблон (надеюсь, у Вас он уже есть) страницы в переменную.
  2. Затем, все .txt файлы из каталога, в котором содержатся статьи прочитаем в массив.
  3. Далее, примем за должное тот факт, что все статьи написаны с применением H1 тега в качестве заголовка статьи - опять же распространенное требование. Далее с помощью регулярного выражения и цикла foreach для массива адресов статей прочитаем все заголовки в другой массив
  4. После этого нам останется подготовить ссылки и
  5. Подготовить проверку строки запроса страницы. И, исходя из результатов проверки, сделать вывод страницы пользователю

Приведу несколько строк скрипта. Думаю, прочитать файл шаблона в переменную не составит труда, иначе читайте мануал PHP, поэтому здесь останавливаться не будем. Основы прочтения каталога статей тоже лежат в мануале - применим функцию opendir, а для фильтрации только текстовых файлов напишем так: if (eregi("\.txt", $file)).
Теперь из тега H1 надо достать сам заголовок: для каждой статьи читаем в массив с помощью кода if (eregi("<h1>([^<>]+)</h1>", $iv, $m)) и сохраняем в массив $m[1].
Получены 2 массива - один для адресов страниц и другой для их названий. Вопрос формирования ссылок оставлю за читателем. Надо только учесть, что следует снабдить каждый адрес строкой запроса типа адрес_нашего_скрипта?p=файл_статьи(за вычетом расширения .txt или .doc)

След-ий этап состоит в выводе страницы. Для определения контента проверяем передано ли нашему скрипту php что-либо в строке запроса браузера - глобальная переменная $_SERVER['QUERY_STRING']. Если она пуста, отдаем странице наши ссылки, если нет - применяем функцию parse_str($_SERVER['QUERY_STRING']), проверяем существует ли наша переменная p(см. выше). Если нет выводим ошибку, если да проверяем добавляем к ее значению расширение (.txt или .doc), проверяем наличие такого файла в каталоге функцией if_exists. Если нет закругляемся с ошибкой. Если да читаем файл и выводим его пользователю вместе со ссылкой на оглавление каталога. И вывод ссылок и вывод статей производится заменой в шаблоне страницы соотв. знаков. Скажем, %contents% обрабатываем функцией str_replace.

Естественно, может быть произведен целый ряд изменений и улучшений, в том числе разбиение каталога на категории и работа со стилями, но в простом варианте это всё.

 
© 2010 ComputersMarket.ru | E-mail