현재 위치: > 최신 기사 목록> PHP의 Disk_Free_Space 함수를 사용하여 디스크의 나머지 공간을 빠르게 보는 방법은 무엇입니까?

PHP의 Disk_Free_Space 함수를 사용하여 디스크의 나머지 공간을 빠르게 보는 방법은 무엇입니까?

gitbox 2025-09-30

매일 웹 개발에서 서버의 저장 공간을 관리하는 것이 매우 중요한 작업입니다. PHP는 매우 편리한 기능 DISK_FREE_SPACE () 를 제공하여 서버 디스크에서 나머지 공간을 빠르게 볼 수 있도록 도와줍니다. 이 기사는이 기능을 사용하여 디스크의 나머지 공간을 얻는 방법과 실제 프로젝트 요구 사항과 함께 적용하는 방법을 소개합니다.

disk_free_space () 함수는 무엇입니까?

DISK_FREE_SPACE () 는 PHP의 내장 기능으로, 지정된 디렉토리가 상주하는 디스크 파티션의 바이트로 여유 공간을 반환합니다. 디스크 파티션에 현재 얼마나 많은 여유 공간이 남아 있는지 알고 싶다면이 기능을 통해 쉽게 얻을 수 있습니다.

함수의 기본 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">disk_free_space</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$directory</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>

매개 변수 설명 :

  • $ 디렉토리 : 지정된 디렉토리 경로. 이 디렉토리는 모든 디스크 파티션의 경로 일 수 있으며 일반적으로 / 또는 C : / 와 같은 디렉토리 경로를 통과합니다.

반품 값 :

  • 리턴 값은 디스크의 여유 공간을 바이트로 나타내는 정수입니다. 오류가 발생하면 함수가 False를 반환합니다.

예 : 서버 디스크에서 나머지 공간을 보는 방법

서버의 루트 디렉토리 / 디스크의 나머지 공간을보고 싶다고 가정하면 다음 코드를 사용할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/'</span></span><span>;
</span><span><span class="hljs-variable">$freeSpace</span></span><span> = </span><span><span class="hljs-title function_ invoke__">disk_free_space</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$freeSpace</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"디스크의 나머지 공간에 대한 정보를 얻을 수 없습니다."</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></span><span> . </span><span><span class="hljs-variable">$freeSpace</span></span><span> . </span><span><span class="hljs-string">" 바이트"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

위 코드를 실행할 때 루트 디렉토리가있는 디스크에 여유 공간이있는 경우 $ Freespace는 해당 디스크의 나머지 공간을 바이트로 반환합니다. 오류가 발생하면 함수가 False를 반환하고 이에 따라 정보가 성공적으로 얻어 졌는지 판단 할 수 있습니다.

바이트를 더 읽기 쉬운 단위로 변환하는 방법은 무엇입니까?

DISK_FREE_SPACE ()는 바이트 수를 반환하지만 실제 애플리케이션에서는 일반적으로 MB 또는 GB와 같은 이해하기 쉬운 장치로 변환해야합니다. 이 변환을 구현하기 위해 간단한 기능을 구현할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">formatSize</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$size</span></span></span><span>) {
    </span><span><span class="hljs-variable">$units</span></span><span> = [</span><span><span class="hljs-string">'B'</span></span><span>, </span><span><span class="hljs-string">'KB'</span></span><span>, </span><span><span class="hljs-string">'MB'</span></span><span>, </span><span><span class="hljs-string">'GB'</span></span><span>, </span><span><span class="hljs-string">'TB'</span></span><span>];
    </span><span><span class="hljs-variable">$unitIndex</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;

    </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$size</span></span><span> &gt;= </span><span><span class="hljs-number">1024</span></span><span> &amp;&amp; </span><span><span class="hljs-variable">$unitIndex</span></span><span> &lt; </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$units</span></span><span>) - </span><span><span class="hljs-number">1</span></span><span>) {
        </span><span><span class="hljs-variable">$size</span></span><span> /= </span><span><span class="hljs-number">1024</span></span><span>;
        </span><span><span class="hljs-variable">$unitIndex</span></span><span>++;
    }

    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">round</span></span><span>(</span><span><span class="hljs-variable">$size</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>) . </span><span><span class="hljs-string">' '</span></span><span> . </span><span><span class="hljs-variable">$units</span></span><span>[</span><span><span class="hljs-variable">$unitIndex</span></span><span>];
}

</span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/'</span></span><span>;
</span><span><span class="hljs-variable">$freeSpace</span></span><span> = </span><span><span class="hljs-title function_ invoke__">disk_free_space</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$freeSpace</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"디스크의 나머지 공간에 대한 정보를 얻을 수 없습니다."</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></span><span> . </span><span><span class="hljs-title function_ invoke__">formatSize</span></span><span>(</span><span><span class="hljs-variable">$freeSpace</span></span><span>);
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Formatsize () 함수를 통해 바이트 수를 KB, MB, GB 등과 같은보다 이해하기 쉬운 단위로 변환 할 수 있습니다.

디스크의 나머지 공간 모니터링을 처리하는 방법은 무엇입니까?

일부 시나리오에서 개발자는 불충분 한 디스크 공간으로 인한 서비스 중단을 피하기 위해 나머지 디스크 공간을 정기적으로 모니터링해야 할 수도 있습니다. 타이밍 작업을 설정하여 위의 PHP 스크립트를 정기적으로 실행하거나 응용 프로그램에 디스크 공간 모니터링 로직을 추가 할 수 있습니다.

예를 들어, 웹 애플리케이션의 백그라운드에서 시간이 지정된 작업을 추가하고 정기적으로 디스크 공간을 확인한 후 나머지 공간이 특정 임계 값 미만인 경우 관리자에게 경고 알림을 보낼 수 있습니다.

결론

PHP의 DISK_FREE_SPACE () 함수를 통해 디스크의 나머지 공간을 쉽게 얻을 수있어 시간에 저장 공간이 충분하지 않은 문제를 발견하고 시스템 충돌 또는 서비스 중단을 피할 수 있습니다. 실제 애플리케이션에서 타이밍 작업과 공간 임계 값 설정을 결합하면 웹 애플리케이션을위한보다 강력한 스토리지 모니터링 메커니즘을 제공 할 수 있습니다.