PHPで外部ファイルのサイズを取得する方法

ローカルのファイルのサイズを取得するときには filesize() 関数を使えば良いのですが、
どうもリモートでのファイルサイズを取得するには filesize() は使えないらしい。

というわけで探してみたところ、次のような方法で外部のファイルのサイズを取得できるようです。
ただし相手のサーバーの設定で Content-Length ヘッダーを返すようになっていないと使えないので注意。

戻り値は byte 単位です。


<?php

# 外部URIのファイルサイズを取得

function getFileSize($uri) {

    
$headers = get_headers($uri, 1);        

    if ((!
array_key_exists("Content-Length", $headers))) { return false; }

    return
$headers["Content-Length"];

}

?>

著色にはPHPソースをハイライト表示を使用しました。

カテゴリー: PHP   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>