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バイト)は正確に取得できた。

 

評価ありがとうございます。
記事の評価をお願いします。今後の参考にさせていただきます。
  • 役に立った (1)
  • まあまあだった (0)
  • 理解不能 (0)
  • 役に立たなかった (0)

コメントを残す

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