php リモートファイルのサイズを取得する

TIPS 0 Takuya Kobayashi

function get_filesize($url) {
if( !$fp = @fopen($url,'rb') ) return false;
static $regex = '/^Content-Length: *+\K\d++$/im';
if ( isset($http_response_header) && preg_match($regex, implode("\n", $http_response_header), $matches) ) {
$filesize = (int)$matches[0];
} else {
$filesize = strlen(stream_get_contents($fp));
}
$sum = $filesize / 1024 / 1024;
$sum = round( $sum, 2).'MB';
return $sum;
}
echo get_filesize('https://example.jp/img/test.jpg');

--
以上