2012-07-10 6 views
4

사용자의 첨부 파일을 저장하고있는 저장소에서 사용 가능한 공간을 확인하고 싶습니다. 나는 disk_free_space()disk_total_space()으로 갔다. 결과는 다음과 같습니다php disk_total_space() 빼기 disk_free_space()가 점유 공간과 같지 않음

여유 공간 : 5.47 GB
총 공간 : 5.86 GB

그래서 공간이 점령 = 0.39 GB.

파일을 반복하여 filesize()으로 크기를 잡습니다. 총 파일 수는 18.34 GB입니다. ! 무료 공간 = 점유 공간

-

총 공간 : 그래서

(최대 파일 크기는 4 MB입니다, 그래서 2 기가 바이트주의 않습니다에 관한 PHP 설명서에주의 사항이 적용됩니다)

왜?

파일 시스템이 HP-UX에 있습니다. 동일한 계정을 사용하여 모든 값을 모두 측정했습니다. 인터넷 브라우저로 스크립트를 실행하여 PHP 스크립트에서 모든 명령을 실행했습니다.

Windows의 기능도 확인했습니다. 결과는 괜찮았다.

나는 기능 ( How to get the disk space on a server?, How to determin how much space is freeon your server? (php), How to detect the server space enough for the uploaded file or no?, How to get the disk space on a server?, Is it possible to get special Local Disk information from PHP?, php disk_total_space)에 관련된 다른 질문을했다지만, 대답을 찾지 못했습니다.

+0

Ur 시스템에 disk_free_space ('/ home /') 및 disk_total_space ('/ home /')를 사용하는 것으로 생각됩니다. – Sergey

+0

@ Sergey Thanks. 둘 다 '0'을 반환했습니다. – bostaf

답변

4

OS와 사용되는 파일 시스템에 따라 이것은 기능을 호출하는 디렉토리에 크게 달려 있습니다. 그 이유는 리눅스가 여러 개의 드라이브를 하나의 큰 나무에 집어 넣기 때문입니다. disk_total_space('/')은 단지 루트 파티션의 크기를 제공하기 때문에 호출 할 수 없습니다. 시도하십시오 disk_total_space($attachmentFolder);.

+0

완벽. 감사! 나는 OS 관련 정보와 PHP 매뉴얼에서 팁을 찾으려고했지만 그것을 만들지 않았다. 나는 그것을 놓쳤는가? 당신이 내가 그것에 대해 더 많이 배울 수있는 곳을 제공 할 수 있습니까? – bostaf

+1

말하기 어렵다. ^^ NIX 기반 OS가 어떻게 하나의 트리에서 언급 된 것처럼 파일 시스템을 구성하는지. 한 가지 문제는 모든 "파일 시스템"이 "진짜"라는 것이 아닙니다. 디바이스 (보통'/ dev') 나 프로세스 ('/ proc')와 같은 가상 파일 시스템이 있습니다. 가상 파일 시스템은 크기가 전혀 없거나 (무한히, 관점에 따라) 있습니다. 이것은 FS 관련 작업이 항상 모든 마운트 된 파일 시스템에 영향을 미친다면 아주 잘 끝나지 않을 수도 있다는 것을 의미합니다. 그러므로,'man mount' http://linux.die.net/man/8/소스로 마운트 하시겠습니까?) – KingCrunch

+0

OK. 고마워요 :) – bostaf