2014-10-10 41 views
0

如何访问文件夹中的所有文件,例如:从单独的文件夹访问所有文件

我将我的网站文件添加到文件夹。在网站的根目录中,我有由我的文件,index.php和我的主题菜单组成的文件夹。所以我的问题是,

如何从菜单中的特定链接访问该文件夹中的文件?

我不希望他们像“myste.com/sections/forum.php”那样被访问,而是我需要知道如何访问他们,如“mysite.com?page=forum”或类似CMS的东西。如果有人能帮助我,我真的很感激。我一直在寻找解决方案,但没有运气。

谢谢。

+0

如果你使用GET,它可能会像这样工作,如果你这样写? – Naruto 2014-10-10 08:51:55

回答

1

命令mysite.com?page=forum将运行在mysite的根目录下的index.php文件。

所以,你需要编写一些代码在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

难道我错过了什么?

谢谢。

相关问题