2016-07-31 14 views
0

내 응용 프로그램 루트 폴더에 'articles'라는 폴더가 있는데 여기에 파일이 있습니다. 그리고 내 루트 폴더에 헤더 파일과 다른 파일이 있습니다. 동일한 헤더 파일이 articles 디렉토리 내의 파일에도 사용됩니다.포함 된 파일에서 opendir()의 경로를 설정하는 방법은 무엇입니까?

내 헤더 파일에는 article 디렉토리에있는 파일을 나열하는 드롭 다운 메뉴가 있습니다. 그리고 다음 코드를 사용했습니다.

<?php 
       $dir = "./articles"; 
       if ($handle = opendir($dir)) { 

        while (false !== ($entry = readdir($handle))) { 

         if ($entry != "." && $entry != ".." && $entry != "images" && $entry != "index.php") { 
          $foo = $entry; 
          $foo = str_replace("_", " ", $foo); 
          $foo = str_replace(".php", "", $foo); 
          $foo = ucwords($foo); 
          ?> 
          <a class="dropdown-content-a" href="<?php echo "$entry" ?>"><?php echo $foo ?></a> 
          <?php 
         } 
        } 

        closedir($handle); 
       } 
       ?> 

이 루트 폴더에있는 파일에서 잘 작동하지만이 '문서'폴더에있는 파일에서 작동하지 않습니다 (그러나 헤더 파일 헤더 파일에 상대적 루트 폴더에 여전히 그리고, 경로 './articles'가 맞음).

동일한 헤더 파일을 사용하여이를 극복하는 방법은 무엇입니까? CD에

+0

루트 디렉토리를 정의하고 사용 해봤습니까? – spencdev

+0

define ('APP_BASE_PATH', dirname (__ FILE__));을 사용하면됩니까? 설정 파일에? –

+0

'define ('APP_BASE_PATH', dirname (__ FILE __). '/'); ' – spencdev

답변

2

사용 (..) 이전 디렉토리

include_once(dirname(__FILE__).'/../filename.php'); 
+0

헤더가 루트 폴더의 파일에서 사용될 때 영향을 미치지 않습니까? –

0

아마 당신은 조건 현명한 해결책을 시도 할 수 있습니다. 경로를 확인하고 ".."을 사용할지 여부를 결정하십시오.