2014-10-10 4 views
0

예를 들어 폴더의 모든 파일에 액세스하는 방법 :별도의 폴더에서 모든 파일에 액세스

폴더에 내 사이트 파일을 추가했습니다. 웹 사이트의 루트에는 내 파일 index.php와 테마 메뉴로 구성된 폴더가 있습니다. 그래서 내 질문은

메뉴의 특정 링크에서 해당 폴더의 파일에 액세스하려면 어떻게해야합니까?

"myste.com/sections/forum.php"처럼 액세스하지 않고 "mysite.com?page=forum"또는 CMS와 같은 항목에 액세스하는 방법을 알아야합니다. 누군가가 이것으로 나를 도울 수 있다면 정말 고마워. 나는 해결책을 찾고 있었지만 행운은 없었다.

감사합니다.

+0

GET으로 작업한다면 그렇게 쓰면 아마 그렇게 될 것입니까? – Naruto

답변

1

명령 mysite.com?page=forum은 내 사이트의 루트 폴더에 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'; 
} 

처럼 올바른 위치로 리디렉션 할 index.php 파일에 일부 코드를 작성해야 querystring뿐만 아니라 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 보여줍니다?

감사합니다.

관련 문제