현재 위치: > 최신 기사 목록> 경로가 PHP의 디렉토리인지 여부를 결정하는 방법은 무엇입니까? STAT () 함수를 사용하여 쉽게 식별하십시오

경로가 PHP의 디렉토리인지 여부를 결정하는 방법은 무엇입니까? STAT () 함수를 사용하여 쉽게 식별하십시오

M66 2025-08-04
<span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// 기사의 시작(콘텐츠가 없습니다)</span></span><span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>

---

</span><span><span class="hljs-comment"># PHP 경로가 디렉토리인지 확인하는 방법?사용 stat() 기능을 쉽게 식별 할 수 있습니다</span></span><span>

존재하다 PHP 가운데,경로가 디렉토리인지 여부를 결정하는 것은 매우 일반적인 작업입니다.,尤其존재하다文件系统操作가운데,프로그램은 다른 논리를 실행하는 경로의 유형을 판단해야합니다.。PHP 이 작업을 수행하는 방법에는 여러 가지가 있습니다,其가운데 `</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 기능은 매우 강력한 도구입니다,파일의 세부 사항을 통해 얻을 수 있습니다.,경로가 디렉토리인지 결정하는 것을 포함합니다。

</span><span><span class="hljs-comment">## 무엇인가요 `stat()` 기능?</span></span><span>

`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 기능사용于获取关于指定文件或目录的信息。배열을 반환합니다,파일 또는 디렉토리에 대한 다양한 메타 데이터가 포함되어 있습니다,파일 크기 포함、권한、수정 시간 등。가장 중요한 것은입니다,`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 还可以사용来判断文件或路径的类型,이것은 경로가 디렉토리인지 결정하는 데 매우 효과적입니다.。

</span><span><span class="hljs-comment">### `stat()` 기능的基本사용法</span></span><span>

`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 기능的语法如下:

```php
</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ filename은 감지 해야하는 파일 또는 디렉토리의 경로입니다.

  • 경로가 존재하고 성공적으로 읽으면 stat ()는 파일 정보가 포함 된 배열을 반환합니다.

  • 경로가 존재하지 않거나 오류가 발생하면 False가 반환됩니다.

경로가 디렉토리인지 결정하십시오

경로가 디렉토리인지 여부를 결정하는 열쇠는 STAT () 함수에 의해 반환 된 배열의 DEV모드 필드인지를 결정합니다. 모드 필드는 파일의 유형과 권한을 나타냅니다. 모드 필드의 값을 확인하여 경로가 디렉토리인지 확인할 수 있습니다.

구체적으로, STAT () 에 의해 반환 된 배열의 모드 값은 비트 투 비트 일 수 있으며 상수 S_IFDIR 에서 작동하여 파일이 디렉토리인지 확인할 수 있습니다.

샘플 코드 :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;

</span><span><span class="hljs-variable">$stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stat</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> &amp;&amp; (</span><span><span class="hljs-variable">$stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>] &amp; </span><span><span class="hljs-number">0170000</span></span><span>) === </span><span><span class="hljs-number">0040000</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 디렉토리입니다";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不디렉토리입니다";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

설명하다:

  • $ stat [ 'mode'] & 0170000은 파일 모드에서 비트 및 작동을 수행하여 파일 유형을 얻는 것입니다.

  • 결과가 0040000 과 같으면 경로는 디렉토리입니다.

  • stat () 에 의해 반환 된 배열에는 필요에 따라 더 많이 사용할 수있는 파일 크기, 수정 시간 등과 같은 다른 정보도 포함되어 있습니다.

is_dir () 함수를 사용한 비교

STAT () 외에도 PHP는 경로가 디렉토리 IS_DIR () 인지 결정하는 데 특별히 사용되는 기능을 가지고 있으며, 이는 매우 간단합니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 디렉토리입니다";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不디렉토리입니다";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

IS_DIR () 함수는 대부분의 경우 충분합니다. 대부분의 경우 부울 값을 반환합니다. True 경로가 디렉토리 인 경우, 그렇지 않으면 False입니다 .

그러나 더 자세한 파일 정보가 필요하거나 STAT ()를 통해 더 많은 메타 데이터를 얻으려면 STAT ()가 더 나은 선택이됩니다.

요약

PHP에는 경로가 디렉토리인지 여부를 결정하는 몇 가지 방법이 있습니다. STAT () 함수를 사용하면 특히 복잡한 파일 시스템 작업이 필요한 경우 경로에 대한 자세한 정보를 얻을 수 있습니다. 모드 필드를 확인하면 경로가 디렉토리인지 쉽게 결정할 수 있습니다. 또한 is_dir () 함수는 간단하지만 대부분의 응용 프로그램 시나리오에는 충분합니다.

올바른 방법을 선택하면 파일 시스템을보다 효율적으로 작동하는 데 도움이 될 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// 기사의 끝(콘텐츠가 없습니다)</span></span><span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>