См. интсрукция по ruweb.
Распределение файлов на сайте
14.04.2026 09:53 / Марат / Смотрели : 12 / движок_сайта |Продолжаем тему сделать движок... наша тема распределение файлов!
О распределении файлов
-
Распределение файлов -
Пример распределения файлов в папках -
Файл config.php -
Файлы vars.php и html.html
Я вам расскажу всю подноготную создания движка - и "Распределение файлов" - очень важная тема.
Вы нигде эту информацию на найдете!
Естественно..., что я не смогу рассказать обо всём... потребуется очень много "букв"!
Только основное и чтобы вы смогли понять принцип!
Эта тема сложилась из 13 лет использования собственного движка!
Я не претендую на истину в последней инстанции - это всего лишь мой способ создания и ведения движка!
Итак ... давайте начнем!
Я разделяю два типа файлов:
Все файлы, которые лежат в "корневой папке" сайта, ну например вот этот файл:
Файлы, которые вы не сможете посмотреть....
Исполнительные файлы php, которые лежат выше корневой папки.
Давайте посмотрим на простой пример распределения файлов в папках:
Начальная папка, в которой лежат все файлы движка(выше на уровень, чем корневая папка):
.cms
Папка "_include", в которой лежат основные важные файлы частого использования, например файл ".fu.php" - все функции:
_include
Файлы ".html", которые участвуют в каркасе страницы и не только...
.html
В папке "admin" - всё, что касается админа, например последняя разработка входа в админку сайта.
admin
Папка "different"(разное) - все php страницы менее востребованные...
Пака "types" - типы страниц(будет отдельная страница)... например:
Здесь файл "config.php" будет работать только при единой точке входа.
Основной файл, в который стекаются все другие файлы...
Чтобы вы имели представление о файле config.php смотри здесь.
В самом начале загружаем все переменные сайта:
include __DIR__ . '/vars.php';
Второй по значимости файл(о папке говорил раньше $dr_in=="Папка _include") файл со всеми функциями...
include $dr_in . '/_fu.php';
Данные для входа, куки, сессия... приветствие...
include $dr_in . '/only_name.php';
После запуска сессии первого входа админа($_SESSION['admin_first']) приветствуем админа!
if($_SESSION['admin_first']) { show_result_post('Здравствуйте ! '. $admin); unset($_SESSION['admin_first']);}
В переменной $uri($uri = strip_tags($_SERVER['REQUEST_URI']);) находится всё, что после домена... это главная:
if( $uri == '/') $id_page = $dat = $types = 'main';
Все (post) отправляем на "post.php"
elseif( $parse_url=='/post.php') include_once $dr_in .'/post.php';
Если папка, после домена "admin" или окончание адреса на "admin.html" загружаем файл админа...
elseif( $parts[1] == 'admin' or $parts[1] == 'admin.html') include_once $dr_admin .'/admin.html';
Загрузка контента из файла(например вот эта страница)... если это тестовая страница, или опубликованный контент...(обрабатываются соответствующими функциями...)
elseif( replace_hp_to_sp( $hp_page) ) { if($parts[1] == '__test') $test_page=1; else $id_page =getIdPage($hp_page); include replace_hp_to_sp( $hp_page); $types = 'page'; }
Загрузка страниц с картинкой, например - blog.html или ?tema=php.
elseif( $parse_url=='/blog.html' or $_GET['tema'])
{
$id_page = $dat = $types = 'line_img';
if($_GET['tema']) $id_page = $dat = 'line_img_'. $_GET['tema'] ;
include $dr_diff . '/is_page_tema.php';//проверяем есть ли такая тема...
}
Страница с поиском, например ?search=поиск.
elseif( $_GET['search'] ){$types='search';header("HTTP/1.0 404 Not Found");$search =my_strtolower(strip_trim($_GET['search'])); }
И если ничего не соответствует требованиям... выводим нет страницы : 404.html.
else no_page();
... думаю на этом остановимся...
В файле "vars.php" находятся все переменные сайта - файл загружается в самом начале файла config. Не публикую, поскольку он довольно большой и особого там ничего нет...
И последние включение в файле config это каркас сайта в html.
Поскольку... это довольно специфические знания...
Я довольно долго шел к идеальному коду в мох движках...
Основной смысл данной страницы:
Файлы должны быть компактными, чтобы можно было понять код и его увидеть одним взглядом и чтобы это не была портянка на 5 000 строк...
И соответственно... загрузка нужных файлов по условию! А уже в отдельном файле вы пишите нужный код!
Надеюсь, что данный контент поможет вам, если вы это собирайтесь делать... и позволит вам идти сразу по правильному пути!
Последнние комментарии:
14.12.2025 :комменты вернулись!
Марат
18.04.2026 18:04
Марат
17.03.2026 14:29
Марат
22.02.2026 17:34
Марат
10.01.2026 23:29
Марат
05.01.2026 19:49