function remote_filesize($url) { if (false === $response = @file_get_contents($url)) { return false; } return strlen($response); } しかしこのままだと巨大ファイルを相手にしたとき、サイズのみを知りたいのに延々とダウンロードで待たされるのは無駄な感じがしますよね。そこでヘッダーを取得したらレスポンスを待たずにブッチしちゃう get_headers 関数を利用します。処理は一瞬で終わるようになりますが、 Content-Length ヘッダーが返されていない場合には取得に失敗するという欠点はあります。 function remote_filesize($url) { static $regex = '/^Content-Length: *+\K\d++$/im';
![リモートファイルのサイズを取得する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/46f995fe534fa19e17f3eefd9ce5186f562a4d57/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgzJUFBJUUzJTgzJUEyJUUzJTgzJUJDJUUzJTgzJTg4JUUzJTgzJTk1JUUzJTgyJUExJUUzJTgyJUE0JUUzJTgzJUFCJUUzJTgxJUFFJUUzJTgyJUI1JUUzJTgyJUE0JUUzJTgyJUJBJUUzJTgyJTkyJUU1JThGJTk2JUU1JUJFJTk3JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mNjVmNTU2MjUxNWVjNGJkNmQ4ZmFmNmQxMmFhODk3NA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbXB5dyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZTcxMDU2ZjgzMjg0YmM3ZWY2NDM1OThkMjkyNmU4Yzg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D8bb04bda3109cb052af72c6d6cbb3328)