2014-10-10 6 views
0

Как я могу получить доступ ко всем файлам из папки, например:Доступ ко всем файлам из отдельных папок

Я добавил файлы своего сайта в папку. В корне сайта есть папка, состоящая из моих файлов, index.php и моего меню. Так что мой вопрос:

Как я могу получить доступ к моим файлам в этой папке по определенной ссылке в меню?

Я не хочу, чтобы к ним обращались как «myste.com/sections/forum.php». Мне нужно знать, как к ним обращаться как «mysite.com?page=forum» или что-то вроде CMS. Я очень ценю, если кто-то может мне помочь в этом. Я искал решение, но не повезло.

Спасибо.

+0

Если вы работаете с GET, возможно, это будет работать, если вы напишете это так? – Naruto

ответ

1

Команда mysite.com?page=forum запустит файл index.php в корневой папке MySite.

Так что вам нужно написать код в файле index.php для перенаправления на правильное место, как

<?php 
if (isset($_GET, $_GET['page'])) { 
    // sanitize the $_GET contents 
    switch ($_GET[['page']) { 
     case 'form' : 
      header('Location: sections/forum.php'); 
      exit; 
      break; 
     case '...' : 

     // etc etc 
    } 
} else { 
    echo 'No $_GET'; 
} 

К сожалению, это не останавливаться на достигнутом, поскольку, скорее всего вы хотите поставить другие параметры на а также page. Итак, теперь вам нужно решить, что делать с этими другими параметрами. Вы добавляете их в header(), или вы храните их где-то в другом месте и убедитесь, что все остальные приложения знают, откуда их получить.

<?php 
if (isset($_GET, $_GET['page'])) { 
    // sanitize the $_GET contents 
    $gets = $_GET; 
    unset($gets['page']; 
    $qs = '?' . implode('&',$gets); 
    switch ($_GET[['page']) { 
     case 'form' : 
      header('Location: sections/forum.php' . $qs); 
      exit; 
      break; 
     case '...' : 
      // etc etc 
     } 
} else { 
    echo 'No $_GET'; 
} 
0

У вас есть много способов сделать это, но если я понял ваш вопрос, одно решение может быть:

if (!empty($_GET["page"])) { 
    switch ($_GET["page"]) { 
     case "forum": 
      include('section/forum.php'); 
      break; 
     case "something_else": 
      //include other file, or do whatever want 
      break; 
     default: 
      //every else case 
      break; 

    } 

} 
0

Спасибо обоих, да вроде работают, но в браузере, а не показывая mysite.com/index.php?page=forum показывает mysite.com/sections/forum.php

ли я что-то пропустил?

Спасибо.

Смежные вопросы