Справочники, инструменты, документация

PHP: Шаблон мини-сайта

Микро-фреймворк на PHP как основа вашего сайта.

Вариант 1

<?php
// массив в котором будем хранить допустимые имена файлов и их русские названия 
$pages=array(
 'about'=>'О нас',
 'contacts'=>'Контакты'
);

// определим если $_GET[page] пустая то выведем about
if($_GET['page']=='') $_GET['page']='about';

// если такой страницы в меню нет то выведем содержимое файла txt/404.htm (нужно создать)
if(!array_key_exists ($_GET['page'],$pages)) $_GET['page']='404';
?>

<html>
<title><?php echo $pages[$_GET['page']]; // русское название в заголовке ?></title>

<body>
<table>
  <tr>
    <td>

    <?php 
    // генерация меню
    foreach($pages as $key=>$value) // цикл который обходит все пары ключ(индекс)-значение массива $pages, на каждом шаге ключ будет записываться в $key а значение в $value 
    {
    if($_GET['page']==$value) // пункт меню равен текущей странице, значит его не нужно делать ссылкой
    {
      echo $pages[$_GET['page']]; 
    } else {
      echo '<a href="'.$key.'">'.$value.'</a>';
      }
      echo "<br />";
    }
    ?>

    </td>
    <td>
      <h1><?php echo $pages[$_GET['page']]; // русское название в заголовке ?></h1>

      <?php
      // функция readfile читает и выводит на экран содержимое файла 'txt/'.$_GET['page'].'.txt'
      // имя файла в данном случае динамическое и состоит из пути и значения переменной полученной методом GET 
      readfile('txt/'.$_GET['page'].'.txt');
      ?>
    </td>
  </tr>
</table>
</body>
</html>

В корне делаем папку под именем txt и наполняем ее файлами about.txt, contacts.txt, 404.txt с любым содержимым.

Вариант 2

<?php
$view = empty($_GET['view']) ? 'txt/' : $_GET['view'];
$fileName = $_SERVER['DOCUMENT_ROOT/'] . $view . ".txt";
if (!file_exists($fileName)) {
// header('Location: /404/'); // вывод на папку ошибок, которую нужно создать
    header("Location: /error.php", true); // вывод на страницу ошибок, которую нужно создать
  return;
}
$view = file_get_contents($fileName);
$pieces = explode("\r\n", $view);

// Content
if (strpos($_GET['view'], 'txt') !== false) {
  echo "<section>";
  if (strpos($_GET['view'], 'txt') !== false) {
    echo '<a href="index.php" title="К оглавлению">Назад</a>';
  }
  echo "<h1>$pieces[0]</h1>";
  if ($pieces[1] != "") {
    echo "<img src=\"img/stranica/$pieces[1]\" alt=\"$pieces[0]\" />";
  }
  echo "<div>$pieces[2]</div><hr />";
} else {
  echo "<h1>$pieces[0]</h1>
    <p>$pieces[1]</p>
    <div>$pieces[3]</div>";
}
?>

В корне делаем папку под именем txt и наполняем ее файлами about.txt, contacts.txt, 404.txt с любым содержимым, скрипт будет считывать информацию из файлов построчно.

Для красивых URL прописываем в файле .htaccess следующее:

RewriteEngine On
RewriteRule ^stranica/(.*)$ /stranica.php?view=$1 [QSA]
На этой странице