- ベストアンサー
ファイルをアップロードする毎にサイズを取得することは可能でしょうか?
PHPでファイルアップロードする場合に、 アップロード前に選択したファイルサイズを Javascriptで取得したいのですが可能でしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
FileSystemObjectを使えば可能ですが、ActiveXObjectを生成するので大抵の場合、ブラウザの保護機能により失敗します。 上記オブジェクトの生成が許可された環境なら、以下のScriptを試してみてください。 //ファイルサイズ(実バイト数)を返すメソッド function getFileSize(path) { var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.GetFile(path); return f.Size; }
その他の回答 (1)
- HIRSYU
- ベストアンサー率51% (45/87)
回答No.2
確かMacは無理だったはずです。 Windowsでも、IEだけだったような気がします。(あまり自信ありません) 何を目的で、アップロード前にサイズを知りたいのかにもよりますが、 単に、でかいファイルの、無用なアップロード処理時間を無くしたいってあれば、 hidden要素で、MAX_FILE_SIZEを指定とか可能です。 http://phpspot.net/php/man/php/features.file-upload.html PHP側でも、MAX_FILE_SIZEでアップロードしていないって言うのを取得可能です。 http://jp.php.net/manual/ja/features.file-upload.errors.php
お礼
ご回答ありがとうございます。 pathはフォーム値のvalueで取得のようですね。今夜試してみますね。 ActiveXは、MACでも動作できるでしょうか?