Loading...
Обучение/Помощь новичкам | Нужна помощь с говнокодом
В общем рылся тут в зц нашел код такой , но сам вопрос как эта дичь обрабатывает так что если файл допустим лежит plugins/forum/add_post.php он в так и открывает index.php?f=add_post

php
//Index.php?f=
if(!empty($_GET['f']))
{
// нашли файл в папке plugins допустим zzzh.php
// Теперь доступен по пути Index.php?f=zzzh
if(file_exists(ROOT_DIR.'/plugins/'.$_GET['f'].'.php'))
require_once ROOT_DIR.'/plugins/'.htmlspecialchars($_GET['f']).'.php';
//Если путь оказалася не файлом который а папкой, открыли index.php этой папки
elseif(file_exists(ROOT_DIR.'/plugins/'.is_dir($_GET['f'])))
{
if(file_exists(ROOT_DIR.'/plugins/'.$_GET['f'].'/index.php'))
require_once ROOT_DIR.'/plugins/'.htmlspecialchars($_GET['f']).'/index.php';
else
echo 'тест';// если нету индекса в папке
}
else
echo 'тест';// если нету папки или файла
}
else
require_once ROOT_DIR.'/plugins/index.php';


.htaccess
php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]

________
посл. ред. 24.12.2023 в 03:03; всего 7 раз(а); by SNEG
/index.php?f=plugins/forum/add_post.php
Something (24 дек 2023, в 3:23)
/index.php?f=plugins/forum/add_post.php
Интересно как ты добыл этот путь?.gyy.
Если я говорю о index.php?f=add_post
________
посл. ред. 24.12.2023 в 03:44; всего 2 раз(а); by SNEG
SNEG (24 дек 2023, в 2:37)
В общем рылся тут в зц нашел код такой , но сам вопрос как эта дичь обрабатывает так что если файл допустим лежит plugins/forum/add_post.php он в так и открывает index.php?f=add_post

php
//Index.php?f=
if(!empty($_GET['f']))
{
// нашли файл в папке plugins допустим zzzh.php
// Теперь доступен по пути Index.php?f=zzzh
if(file_exists(ROOT_DIR.'/plugins/'.$_GET['f'].'.php'))
require_once ROOT_DIR.'/plugins/'.htmlspecialchars($_GET['f']).'.php';
//Если путь оказалася не файлом который а папкой, открыли index.php этой папки
elseif(file_exists(ROOT_DIR.'/plugins/'.is_dir($_GET['f'])))
{
if(file_exists(ROOT_DIR.'/plugins/'.$_GET['f'].'/index.php'))
require_once ROOT_DIR.'/plugins/'.htmlspecialchars($_GET['f']).'/index.php';
else
echo 'тест';// если нету индекса в папке
}
else
echo 'тест';// если нету папки или файла
}
else
require_once ROOT_DIR.'/plugins/index.php';


.htaccess
php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]
В коде уже написано что и как открывается.
php
// нашли файл в папке plugins допустим zzzh.php
// Теперь доступен по пути Index.php?f=zzzh


Плюс правило в htaccess

RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]

Вот тебе и обработка, через index . Если его нет в папке просто получишь ответ test
SNEG (24 дек 2023, в 3:37)
Интересно как ты добыл этот путь?.gyy.
Если я говорю о index.php?f=add_post
Отсюда plugins/forum/add_post.php
Короче говоря, параметр f определяет полный путь к файлу, в данном случае plugins/forum/add_post.php. по этому и открывать нужно примерно так index.php?f=plugins/forum/add_post.php
Ramirez , если честно так и не понял как можно подставить такой путь plugins/forum/add_post.php в get
SNEG (24 дек 2023, в 7:11)
Ramirez , если честно так и не понял как можно подставить такой путь plugins/forum/add_post.php в get
За это отвечает вот эта строчка
apache
RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]
В которой (.*) совпадет с plugins/forum/add_post.php . Или с любым другим uri
А в коде это будет $_GET['f']
________
посл. ред. 24.12.2023 в 07:29; всего 1 раз(а); by Something
Something ,
Не много погуглил все запросы теперь на index.php перенаправлены если в index.php создать $_GET['f']; будут доступны по index.php?f=plugins/forum/add_post.php ? И вся огромная конструкция не нужна что в 1 посте ?

php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]
</IfModule>
SNEG (24 дек 2023, в 16:43)
Something ,
Не много погуглил все запросы теперь на index.php перенаправлены если в index.php создать $_GET['f']; будут доступны по index.php?f=plugins/forum/add_post.php ? И вся огромная конструкция не нужна что в 1 посте ?

php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?f=$1 [L,QSA]
</IfModule>
Ну если тебе не нужно подключение плагина, то не нужна)
Онлайн: 2
Время:
Gen. 0.1326
(c) Bym.Guru 2010-2025