PHPでファイルサイズを取得する方法
PHP
⚠️
⚠️
この記事は移行作業中です。レイアウトが崩れる場合があります。
目次
2GBの壁と4GBの壁がある。
2GBまで #
$size = filesize("ファイルパス");
4GBまで #
負の値を正の値に変換
$size = sprintf("%u", filesize("ファイルパス"));
4GB以上 #
調べてもわからなかったので妥協案
Node.jsで取得してPHPで利用する。
Node.jsのインストールが必要。
size.js
var fs = require('fs'); var stat = fs.statSync(process.argv[2]); console.log(stat.size);
php
$size = exec("node size.js ファイルパス");
size.jsの名前はお好みで。
jsファイルとphpファイルは同じ階層に設置する。
上限は知らないが、所有する最大のファイル102GB(109,812,537,419バイト)は正確に取得できた。