2017-09-30 3 views
-3

저는 서버에 원격 디렉토리가 있으며, PHP 코드가있는 모든 파일을 나열하고 싶습니다. 파일은 예를 들어 TXT 파일은 다음과 같습니다php로 디렉토리의 파일을 나열하고 링크하십시오.

1.txt, 
2.txt 
and so on... 

나는이 단계에서 지금이야 :

if ($handle = opendir('.')) { 
(false !== ($file = readdir($handle))) { 
if ($file != "." && $file != "..") { 
$thelist .= '<a href="'.$file.'">'.$file.'</a><br>'; 
} 
} 
closedir($handle); 
} 

<ul><?php echo $thelist; ?></ul> 

하지만 어떻게이 목록에서 PHP의 주요 파일을 제외하려면? 감사합니다.

+0

여기 사람들은 __do____________ 당신을 위해 코드를 작성합니다. 코드로 문제를 해결하는데 도움이됩니다. –

+0

웹 서버에는 대개 디렉토리에 대한 색인 파일을 자동으로 작성하는 내장 옵션이 있습니다. – Barmar

+0

당신의 친절한 정보에 대해 너무 고마워요. – ViiBoo

답변

0

주 파일을 제외하는 여러 가지 방법이 있습니다. 파일과 폴더의 재귀 목록을 사용하지 않으면 $file === basename(__FILE__)으로 쉽게 확인할 수 있습니다. strpos($file, ".php") == strlen($file)-4을 사용하여 목록에서 모든 .php 파일을 제거 할 수도 있습니다. 감사합니다

<?php 
    $path = "./"; 
    $list = array(); 
    if($handle = opendir($path)){ 
     while(($file = readdir($handle)) !== false){ 
      if(in_array($file, array(".", ".."))){ 
       continue; 
      } 

      // Static Removement 
      if($file === "index.php"){ 
       continue; 
      } 

      // Dynamic Removement 
      if($file === basename(__FILE__)){ 
       continue; 
      } 

      // Exclude all PHP files 
      if(strpos($file, ".php") == strlen($file)-4){ 
       continue; 
      } 

      // Add to List 
      $list[] = '<li><a href="'.$path.'">'.$file.'</a></li>'; 
     } 
     closedir($handle); 
    } 
?> 
<ul> 
    <?php echo implode("\n", $list); ?> 
</ul> 

,
샘.

관련 문제