Рабочий пример простейшего легковестного сайта (ооочень легковестного).

grigruss 20ddf4d6d4 Обновить 'sa/index.php' 2 years ago
css abd769f70f Fix background 2 years ago
img abd769f70f Fix background 2 years ago
sa 20ddf4d6d4 Обновить 'sa/index.php' 2 years ago
README.md 7c51fe5d0a Обновить 'README.md' 2 years ago
favicon.png 17002914fa first commit 2 years ago
index.php 7ae981f281 Обновить 'index.php' 2 years ago
template 15f9d27165 Correct size of site 2 years ago

README.md

PHP-Site

GrigRus.ru пример легковестного сайта на PHP. Сделан упор на низкий трафик, способный загружаться при очень низкой скорости интернет, даже в условиях крайнего севера, при отсутствии стабильной связи.

Версия вполне стабильная.

  • В админку добавлен онлайн-редактор страниц, что позволяет редактировать страницы сайта удалённо, человеку не понимающему в HTML.

Пока не добавлен функционал регистрации пользователей для входа в админку, но это легко можно реализовать с помощью функции password_hash().

Изображения использованные в исходниках являются плодом моего труда. Файл cat.svg требую не использовать в своих сайтах, документах и логотипах. Этот файл - моя интеллектуальная собственность, принадлежит только мне и не распространяется под свободными лицензиями. То же касается текста.

Всё кроме текста и изображений можно считать свободным, под лицензией GPL3.

Требования:

  • php-fpm (php5.6/php7)
  • sqlite3
  • php-sqlite3 (php5.6/php7)

Установку не требует. Скопируйте файлы в корень сайта, накидайте своих картинок в img, измените текст страниц в файле базы данных.

Структура базы данных*

# pages нужна для статей. Всё просто. hit - количество просмотров, изначально ставьте 0. visible - статус. 0 - не отображается, 1 - отображается.
CREATE TABLE pages (
	id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
	name TEXT NOT NULL,
	head TEXT NOT NULL,
	page TEXT NOT NULL,
	hit INTEGER NOT NULL,
	visible INTEGER NOT NULL
);

# usr - пользователи админки. online - статус (1 - в админке, 0 - не в сети). denied - блокировка (0 - активен, 1 - заблокирован).
CREATE TABLE usr (
	id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
	login TEXT NOT NULL,
	pwd TEXT NOT NULL,
	online INTEGER NOT NULL,
	denied INTEGER NOT NULL
);

# session - контроль открытых сессий. usr - id пользователя в таблице usr. point - время смерти сессии (5 минут). key - хеш сессии.
CREATE TABLE session (
	id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
	usr INTEGER NOT NULL,
	point INTEGER NOT NULL,
	key TEXT NOT NULL
);