>  기사  >  백엔드 개발  >  왜 매번 div가 두 개 더 있습니까?

왜 매번 div가 두 개 더 있습니까?

WBOY
WBOY원래의
2016-08-18 09:16:061356검색

밖에 div를 넣었는데 왜 빈 div가 두 개 더 있나요? 왜 매번 빈 div가 두 개 더 있나요? 그 이유는 무엇입니까? 어떻게 제거할 수 있나요?
왜 매번 div가 두 개 더 있습니까?

<code>$dir = "upload/"; 
    if (is_dir($dir)){
       if ($dh = opendir($dir)){
         while (($file = readdir($dh))!= false){
            echo '<div>';
            if (!is_dir($file)) {
              $filePath = $dir.$file;
              echo "<img src='".$filePath."'/>";
            }
            echo '</div>';
         }
        closedir($dh);
       }
    }</code>

답글 내용:

밖에 div를 넣었는데 왜 빈 div가 두 개 더 있나요? 왜 매번 빈 div가 두 개 더 있나요? 그 이유는 무엇입니까? 어떻게 제거할 수 있나요?
왜 매번 div가 두 개 더 있습니까?

<code>$dir = "upload/"; 
    if (is_dir($dir)){
       if ($dh = opendir($dir)){
         while (($file = readdir($dh))!= false){
            echo '<div>';
            if (!is_dir($file)) {
              $filePath = $dir.$file;
              echo "<img src='".$filePath."'/>";
            }
            echo '</div>';
         }
        closedir($dh);
       }
    }</code>

인쇄하세요

<code>print_r(readdir($dh));</code>

이유는 아시죠?

readdir은 .. 및 ..를 인쇄하므로 !is_dir

인 경우 echo "
"를 내부에 배치해야 합니다.

추가 2개는 현재 디렉토리용이고 .이 2개는 필터링되어야 합니다.

그냥 if판단

하세요.
<code class="php">
$dir = "upload/"; 
if (is_dir($dir)){
   if ($dh = opendir($dir)){
     while (($file = readdir($dh))!= false){
        if (!is_dir($file)) {
        
          //. 和.. 在文件夹下,不管在什么系统中. 和..都是存在的, .指向当前目录, ..上一级目录
          if ($file === '.' || $file === '..') {
              continue;
          }
          
          echo '</div>';
          $filePath = $dir.$file;
          echo "<img src='".$filePath."'/>";
          echo '</div>';
        }
        
     }
    closedir($dh);
   }
}
</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.