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>   
Ну если тебе не нужно подключение плагина, то не нужна)
Онлайн: 1
Время:
Gen. 0.1193
(c) Bym.Guru 2010-2026