software:development:demo:cms:ucms:index
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:index [2025/05/12 19:45] – [index_test_2.php] vladpolskiy | software:development:demo:cms:ucms:index [2025/05/12 21:57] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 209: | Строка 209: | ||
| <note blue> | <note blue> | ||
| :!: **Примечание: | :!: **Примечание: | ||
| + | Ранее **config.ini** создавали мы, значит и владелец файла на запись и чтение тоже мы, а нам необходимо | ||
| + | передать права нашему приложению. Заодно проверим код записи в файл. | ||
| </ | </ | ||
| + | |||
| + | Удалим созданный нами файл **config.ini** и запустим в браузере файл **index_test_2.php** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | т.к. мы удалили файл **config.ini** мы получили сообщение: | ||
| + | * **Файл / | ||
| + | * **Ошибка чтения INI-файла.** - прочесть файл приложение не смогло\\ | ||
| + | * **Запись в файл прошла успешно!** - был создан новый **config.ini** с записью **default_site = video** | ||
| + | |||
| + | Запустим в браузере страницу файл **index_test.php** | ||
| + | {{: | ||
| Так-же проверим работу логики при пустом значении переменной **%%$default_site%%** в файле **config.ini** | Так-же проверим работу логики при пустом значении переменной **%%$default_site%%** в файле **config.ini** | ||
| в директории **ucms/ | в директории **ucms/ | ||
| < | < | ||
| - | $default_site = ""; | + | default_site = |
| </ | </ | ||
| - | Аналогично, | + | |
| + | {{: | ||
| + | |||
| + | Приложение перешло на первую по списку директорию. | ||
| + | |||
| + | Аналогично, | ||
| < | < | ||
| - | $default_site = "blog"; | + | default_site = blog |
| </ | </ | ||
| - | {{: | + | {{: |
| ===== Логика index.php ===== | ===== Логика index.php ===== | ||
| - | * **ЕСЛИ** ядро приложение не установленно (т.е. отсутствуют файлы **%%version.php%%** и **%%config.ini%%** в директории **%%/ | + | * **ЕСЛИ** ядро приложение не установленно (т.е. отсутствуют файлы **%%version.php%%** и **%%config.ini%%** в директории **%%/ |
| * **ИНАЧЕ** проверит переменную **%%$default_site%%** в файле **%%config.ini%%** | * **ИНАЧЕ** проверит переменную **%%$default_site%%** в файле **%%config.ini%%** | ||
| - | * **ЕСЛИ** переменная **%%$default_site = пустое значение%%**, | + | * **ЕСЛИ** переменная **%%$default_site = пустое значение%%**, |
| - | * **ИНАЧЕ** получив значение переменной **%%$default_site%%** из файла **%%default_site%%** выведит в окне **%%index.php%%** | + | * **ИНАЧЕ** получив значение переменной **%%$default_site%%** из файла **%%config.ini%%** перенаправит к **%%index.php%%** установленной конфигурации, |
| По замыслу пользователь может установит несколько приложений и указать приложение по умолчанию в **%%config.ini%%**, | По замыслу пользователь может установит несколько приложений и указать приложение по умолчанию в **%%config.ini%%**, | ||
| Строка 251: | Строка 269: | ||
| | | ||
| include ' | include ' | ||
| - | include FOLDER . '/ | ||
| include FOLDER . '/ | include FOLDER . '/ | ||
| /* запустим функцию проверки первого входа в приложение */ | /* запустим функцию проверки первого входа в приложение */ | ||
| Строка 258: | Строка 275: | ||
| </ | </ | ||
| - | Запишем в файл **%%function.php%%** нашу первую функцию **%%check_start(); | + | Создадим в директории **/ |
| <code php function.php> | <code php function.php> | ||
| - | <?php | + | <? |
| /* Функция проверки установки ядра приложения и установленной конфигурации */ | /* Функция проверки установки ядра приложения и установленной конфигурации */ | ||
| function check_start() { | function check_start() { | ||
| - | | + | /* Присваиваем переменной $file_config значение константы FOLDER |
| + | (а это | ||
| + | '/ | ||
| + | $file_config = FOLDER . '/ | ||
| + | |||
| + | // Создание и вызов параметров из .ini файла | ||
| + | //////////////////////////////////////////// | ||
| + | /* задаем переменной | ||
| + | * parse_ini_file - обрабатывает конфигурационный файл | ||
| + | * / | ||
| + | * ,true); - обрабатываем с секциями (зпголовками) | ||
| + | */ | ||
| + | $config_defaul_site = parse_ini_file(FOLDER . "/ | ||
| + | // Присвоим переменной $default_site значение из ini-файл. | ||
| + | $default_site = $config_defaul_site[' | ||
| /* зададим переменным файлы и директории */ | /* зададим переменным файлы и директории */ | ||
| $file_config = FOLDER . '/ | $file_config = FOLDER . '/ | ||
| - | $file_version = ' | + | $file_version = FOLDER . '/version.txt'; |
| $bcw_site = FOLDER . '/ | $bcw_site = FOLDER . '/ | ||
| Строка 273: | Строка 304: | ||
| $video_site = FOLDER . '/ | $video_site = FOLDER . '/ | ||
| $sns_site = FOLDER . '/ | $sns_site = FOLDER . '/ | ||
| - | + | | |
| - | /* подключим в функции файл | + | |
| - | переменной $default_site*/ | + | |
| - | include FOLDER . '/ | + | |
| /* Если переменные $file_config и file_exists существуют, | /* Если переменные $file_config и file_exists существуют, | ||
| то проверим определение переменной конфигурации $default_site | то проверим определение переменной конфигурации $default_site | ||
| - | по умолчанию в файле config.ini */ | + | по умолчанию в файле config.php */ |
| if (file_exists($file_config) && file_exists($file_version)) { | if (file_exists($file_config) && file_exists($file_version)) { | ||
| /* Если переменная $default_site равно " | /* Если переменная $default_site равно " | ||
| - | if ($default_site == "" | + | if ($default_site |
| /* Проверим, | /* Проверим, | ||
| if (file_exists($bcw_site)) { | if (file_exists($bcw_site)) { | ||
| - | /* Если директория /bcw определим имя | + | /* Если директория /bcw существует, перенаправим |
| - | равное | + | header(" |
| - | */ | + | |
| - | include FOLDER | + | |
| exit; | exit; | ||
| } | } | ||
| /* Проверим, | /* Проверим, | ||
| elseif (file_exists($blog_site)) { | elseif (file_exists($blog_site)) { | ||
| - | /* Если директория /blog определим имя | + | /* Если директория /blog существует, перенаправим |
| - | равное | + | header(" |
| - | */ | + | |
| - | include FOLDER | + | |
| exit; | exit; | ||
| } | } | ||
| /* Проверим, | /* Проверим, | ||
| elseif (file_exists($video_site)) { | elseif (file_exists($video_site)) { | ||
| - | /* Если директория / | + | /* Если директория / |
| - | равное | + | header(" |
| - | */ | + | |
| - | include FOLDER | + | |
| exit; | exit; | ||
| } | } | ||
| /* Проверим, | /* Проверим, | ||
| elseif (file_exists($sns_site)) { | elseif (file_exists($sns_site)) { | ||
| - | /* Если директория /sns определим имя | + | /* Если директория /sns существует, перенаправим |
| - | равное | + | header(" |
| - | */ | + | |
| - | include FOLDER | + | |
| exit; | exit; | ||
| } | } | ||
| Строка 318: | Строка 338: | ||
| else { | else { | ||
| /* Если переменная $default_site равно " | /* Если переменная $default_site равно " | ||
| - | подключим в окне файл, указанный в config.ini*/ | + | перенаправить на страницу, указанную в config.php*/ |
| - | include FOLDER | + | header(" |
| exit; | exit; | ||
| } | } | ||
| } | } | ||
| /* Если Переменные $file_config или file_exists не существуют, | /* Если Переменные $file_config или file_exists не существуют, | ||
| - | то перенаправим | + | то перенаправим |
| - | директорию | + | |
| - | */ | + | |
| else { | else { | ||
| - | header(" | + | |
| exit; | exit; | ||
| + | } | ||
| + | } | ||
| ?> | ?> | ||
| </ | </ | ||
| + | Откроем в браузере наш файл **/ | ||
| - | Проверим работу программы при созданных | + | {{: |
| - | значения переменной **%%$default_site%%** | + | |
| - | < | + | Как |
| - | $default_site | + | |
| + | <code php .htaccess> | ||
| + | # запретим просмотр файлов с расширением .ini следующих файлов | ||
| + | # (задается правило для перенаправления) | ||
| + | # config.ini | ||
| + | RewriteEngine On | ||
| + | RewriteRule ^(config)\.ini$ - [R=403,L,NC] | ||
| </ | </ | ||
| + | |||
| + | {{: | ||
| <note blue> | <note blue> | ||
software/development/demo/cms/ucms/index.1747068344.txt.gz · Последнее изменение: — vladpolskiy
