영원한사랑

지나가다가 쓸모 있는 함수 하나 발견해서 올려놓습니다.

이 함수가 실행되는 서버가 아닌 타 서버에 있는 이미지파일의 크기를 구할 수 있습니다.
정확히는 $url 변수에 대입한 url 경로에 존재하는 파일의 크기를 구하는 것이겠지요.

참고로, 외부링크 방지처리된 타서버의 파일 크기 체크도 가능합니다.
(이미지 파일 외의 다른 파일 형식도 지원할 겁니다.)

function getSizeFile($url) {
    if (substr($url,0,4)=='http') {
        $x = array_change_key_case(get_headers($url, 1),CASE_LOWER);
        if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; }
        else { $x = $x['content-length']; }
    }
    else { $x = @filesize($url); }

    return $x;
}

.
.

[사용예]
$filesize = getSizeFile('http://www.phpschool.com/images/sample.jpg');
echo $filesize;
>> 4333

파일 크기가 2GB 보다 크면  sprintf("%u", filesize($file))

[발췌위치]
http://kr2.php.net/manual/kr/function.filesize.php

http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=64371&page=1