IE6でアップロードファイルのサイズを取得する方法

このQ&Aのポイント
  • IE6でアップロードしたファイルのサイズを取得する方法について教えてください。
  • ファイルサイズを取得して、一定の値以上の容量であればアラートを出力するJavaScriptプログラムを書きたいですが、エラーが出ていて進めません。
  • どのようにファイルサイズを取得すれば良いのでしょうか?
回答を見る
  • ベストアンサー

IE6 で アップロードファイルサイズ

IE6 でアップロードしたファイルのサイズを取得したいです。 いろんなやり方を試しましたが、ページエラーばかり出てしまいます。 下記のようなフォームです。multipulの指定はなし。 ------------------------------------- <form name="frmFile" action=""> | <input type="file" name="upfile" value=""> | </form> ------------------------------------- <script type="text/javascript"> var filesize = document.frmFile.upfile.fileSize; </script> 上記のjavascriptではページエラーが出ます。 ファイルサイズを取得して、一定の値以上の容量であればアラートを出力する javascriptのプログラムを書きたいですが、エラーが出ていては前に進めません。 サイズの取得の仕方を教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

> IE6 でアップロードしたファイルのサイズを取得したいです。 アップロード「した後の」ファイルなら、サーバ側でサイズを取得出来ますが、おそらく、 アップロード「する前の」ファイルのサイズを取得したいのですよね? JavaScriptで取得するのは、File APIが必要です。IEでは、IE10以降じゃないとできません。

参考URL:
http://www.atmarkit.co.jp/fdotnet/chushin/introhtml5_06/introhtml5_06_01.html
MaiK_Birdy
質問者

お礼

ありがとうございます。参考にします

その他の回答 (2)

回答No.3

アップロード「した」? …って、もうNo.2の方が指摘されてますので、以下省略。 Javascriptの範囲を逸脱してしまいますが… Windows上のIE専用なら、WSHのFileSystemObjectを使うとか? ただし、セキュリティのダイアログが出ちゃいますけどね! 一応、下のほうにサンプルを載せておきます。 あと他に思い当たるのはFlashでしょうか。 ☆FileReferenceクラスを使って、コンピュータ内の画像を読み込もう。 http://creator.mynavi-agent.jp/special/flash/fl_059.html 上記ページにあるサンプルは画像ファイル限定ですが、コードや解説を読むと任意のファイルを扱えるように思えます。 これをWindows98上のIE6+Flash9で試すと、画像が表示されないもののファイルサイズは表示されました。 拡張子をPNGにした100MBのダミーデータファイルを選択しても表示は瞬時でした。 ただ、実際にこれを採用するとなるとJavascriptとの連携も必要なので、いろいろ面倒そうですねー。 <script type="text/javascript"> function GetFileSize(FN){ var FSO=new ActiveXObject('Scripting.FileSystemObject'); if (FSO.FileExists(FN)){ var FileSize=FSO.GetFile(FN).Size; alert(FileSize+' byte'); }else{ alert('ファイルが見つかりません'); } FSO=null; } </script> <form name="frmFile" action=""> <input type="file" name="upfile" value=""> </form> <button onclick="GetFileSize(frmFile.upfile.value)">ファイルサイズを取得</button>

MaiK_Birdy
質問者

お礼

ありがとうございます。参考にいたします

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

そんなことできないと思いましたが、やっている人がいました。 取得したファイル名を img オブジェクトに与えて、サイズを取得するという方法です。 http://www.openspc2.org/JavaScript/library/etc/filesize/index.html 動作ブラウザが IE4, IE5 となっているので、IE6 でも動くのかは不明ですが、大丈夫ではないでしょうか。

MaiK_Birdy
質問者

お礼

ありがとうございます。参考にします

MaiK_Birdy
質問者

補足

回答ありがとうございました。 提示していただいたURLのやり方も試しましたが、ダメでした。

関連するQ&A

  • ファイルアップロードについて

    環境: OS/Vine Linux 3.2 Apache 2.0.55 mod_ssl 2.0.55 OpenSSL 0.9.7d PHP 5.1.2 上記の環境で簡単なファイルアップ処理をPHPで 試みようと思っていますが、できなく困っています。 HTMLからフォームを使って ファイルを選択した後に、「Send File」ボタンを 押してもまずファイルサイズが取得できません。 print_r($_FILES)を確認すると、 「Array ( [userfile] => Array ( [name] => test.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) ) 」とクライアントマシンの元ファイル名とエラーコードのみ表示されます。 ちなみにupload_max_filesizeは2Mで設定しています。 なので、MAX_FILE_SIZEは2Mになりますよね?? どなたかご教授下さい。よろしくお願いいたします。 ソース: 【html】 <form enctype="multipart/form-data" action="b.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> 【php】 <?php print_r($_FILES); //続く....... ?>

    • ベストアンサー
    • PHP
  • ファイルサイズ 取得 一致 PHP

    formに入力されたファイルサイズが一致しているか確認したいです。 よろしくお願いします。 php $filesize = ''; $filesize = filesize($_FILES['upfile']['tmp_name'] ); if ($filesize !== ($_POST["size_name"])){ echo "ファイルサイズの値が一致しません"; exit; }

    • ベストアンサー
    • PHP
  • ファイルアップロードを教えて下さい。

    お世話になります。 php初心者です。 初歩的な質問になると思いますが… ローカルでファイルのアップロードのスクリプトの練習をしてるのですが上手く行きません。 アップロードしたファイル名が全て同じになります。 ディレクトリ構成として htdocs  ├128.php  └phpbook(ディレクトリ)    └128-2.php ■128.phpの中身 <form action="./phpbook/128-2.php" enctype="MULTIPART/FORM-DATA" method="POST"> ファイル:<input type="FILE" name="upfile"> <input type="submit" value="アップロード"> </form> ■128-2.phpの中身 <?php if(move_uploaded_file($_FILES['upfile']['tmp_name'], "./htdocs/phpbook/") ==FALSE){ print "失敗しました。"; }else{ print ($_FILES['upfile']['name']); print "をアップロードしました。"; } ?> アップロードは出来てるのですが、phpbookディレクト内にphpbookという拡張子が何もついてないファイルがアップロードされてしまいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイル選択と同時にアップロード HTML+JS

    HTMLとJava Scriptのことを質問させてください <form>タグからファイルを選択すると同時をアップロードしたいと思っています。 複数の「ファイルを選択ボタン」を設置し、それぞれ"001.jpg"、"002.jpg"など指定の名前でアップロードしたいです。 下記のようにいくつかの<form>タグを設置し、javascriptでコントロールできるかと思いケース1のように書いた場合はうまくいったのですが、ケース2のように複数並べて記述した場合、動かなくなり困っております。 どなたか教えていただけないでしょうか? よろしくお願いいたします ケース1) <form id="upload_file1" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="001.jpg" />    <input type="file" id="file_id_1" name="file_name" accept="image/jpeg"> </form> <form id="upload_file2" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="002.jpg" />    <input type="file" id="file_id_2" name="file_name" accept="image/jpeg"> </form> <script> var form = document.getElementById("upload_file1"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; </script> ケース2) <form id="upload_file1" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="001.jpg" />    <input type="file" id="file_id_1" name="file_name" accept="image/jpeg"> </form> <form id="upload_file2" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="002.jpg" />    <input type="file" id="file_id_2" name="file_name" accept="image/jpeg"> </form> <script> var form = document.getElementById("upload_file1"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; var form = document.getElementById("upload_file2"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; </script>

  • php ファイルアップロード サイズ設定どうしたらいい??

    以下のphpファイルアップロードプログラムを書いたが、 ファイルサイズ5MBを超えるとアップロードできなくなることに困っています!! Upload_max_filesizeとかあるようですが、設定はわかりません。 まったくの新米ですので、教えてください。 Html部: <form action="upload.php" form method="post" enctype="multipart/form-data"> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="file" name="uploadfile[]" size="75"> </p> <p> <input type="submit" name="submit" value="- Upload -"> </p> </form> php部: <?php // 実行ボタンが押された時 if (isset($_POST["submit"])) { for ($i = 0; $i < 10; $i++) { $movetofile = "files/" . $_FILES["uploadfile"]["name"][$i]; move_uploaded_file( $_FILES["uploadfile"]["tmp_name"][$i], $movetofile ); } echo "Thank you very much for your uploading."; } ?>

    • ベストアンサー
    • PHP
  • VBAでアップロード

    ホームページ作成をしているのですが、ローカルにあるhtmlファイルをvbaでアップロードしたいのですが やり方がよくわかりません。 ソースは *************************************************************** <TABLE border=0 cellSpacing=0 cellPadding=0 width=650> <TBODY> <TR vAlign=top> <TD width="50%"> <TABLE style="FONT-SIZE: 12px" border=0 cellSpacing=1 cellPadding=3 width=323 bgColor=#ff6600> <FORM encType=multipart/form-data method=post action=/tok2_ftp/index.php> <INPUT name=act value=upload type=hidden> <INPUT name=MAX_FILE_SIZE value=300000 type=hidden> <INPUT name=dirname value=/ type=hidden> <TBODY> <TR align=center> <TD bgColor=#ffcc66>ファイルアップロード</TD></TR> <TR align=center> <TD class=line-height1 bgColor=#ffffff> <BR>アップロード可能なサイズは、1ファイル300kbまでです。<BR> <FONT color=#ff0000>※既に同じファイル名が存在する場合は上書きされます。</FONT> <BR><BR> <INPUT name=upfile[] size=40 type=file><BR> <INPUT name=upfile[] size=40 type=file><BR> <INPUT name=upfile[] size=40 type=file><BR> <INPUT name=upfile[] size=40 type=file><BR> <INPUT name=upfile[] size=40 type=file> <BR><BR><INPUT style="WIDTH: 150px" value=アップロード type=submit> <BR><BR></TD></TR></FORM></TBODY></TABLE></TD> *************************************************************** このような感じなのですが、 VBAで objIE.document.all("upfile[]")(0).Value = "test" 'エラーにならないけど値も入らない objIE.document.forms(0).all("upfile[]")(0).Value = "test" 'エラーにならないけど値も入らない 'objIE.document.forms(0)("upfile[]").Value = "test" 'エラー 'objIE.document.all("upfile[]").Value = "test" 'エラー objIE.document.forms(0).submit '押せる こんな事をやってみましたが、値を入れる事ができません。 解決方法を教えてください。

  • JQueryのpostメソッドでファイルをアップロードする方法を教えてください

    以下の技術を使ってwebシステムを開発しています。 jquery 1.3.2 php 5.2.6 Apatch 2.2.10 システムにファイルをアップロードしたいのですが出来ません。 JQueryの$.post()メソッドを使ってアクションを呼び出しているのですが phpの$_FILESが取得できません。 方法をご教授ください。 JQuery、phpともに初心者です。 不足している情報があれば教えてください。 ソースや設定は以下です。 //// upload.html ///////////////////////////////// <html> <head> <title>upload</title> <script type="text/javascript" src="./jquery-1.3.2.min.js" ></script> <script type="text/javascript"> function execPost() { var params = $('#testform').serialize(); $.post( 'http://localhost:8080/upload", params, function(data) { // post後処理 }); } </script> </head> </body> <form name="testform" id="testform" enctype="multipart/form-data" method="post" > <input type="hidden" name="MAX_FILE_SIZE" value="10000" /> <input type="file" name="file" /> <input type="button" name="post" onclick="execPost()" /> </form> </body> </html> //// upload.php ////////////////////////////////// <?php $filename = $_FILES['file']['name'] ?> //// php.ini ///////////////////////////////////// ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ;upload_tmp_dir = upload_tmp_dir = "/tmp" ; Maximum allowed size for uploaded files. upload_max_filesize = 2M

  • PHP重複ファイルに連番をつけてアップロードしたい

    ファイルをアップロードするページをPHPで作りました。 testup.htmlでファイルを選択し、 testup.phpでファイルをサーバーにアップする 簡単な仕組みです。 アップロードには成功したのですが、 同じファイル名のデータがある場合、上書きされてしまいます。 上書きされずに、連番等をファイル名に追加してアップロード できればと思いましたが、方法がわかりません。 当方PHPの初心者です。何卒お力をお貸しください。 よろしくお願い致します。 ソースを記入しておきます。 「testup.html」 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> テストアップローダー<br> <form action="testup.php" method="post" enctype="multipart/form-data"> アップロードするファイルを選択してください。 <br> <input type="file" name="upfile" size="30"><br> <br> <input type="submit" value="アップロード"> <label>  <input type="reset" name="button" id="button" value="リセット" /> </label> </form> </body> </html> 「testup.php」 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> <p><?php if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0777); echo $_FILES["upfile"]["name"] . "をアップロードしました。"; echo "<br><br>ありがとうございました。"; echo "<br><FORM><INPUT TYPE=button value=閉じる onClick=window.close()></FORM>"; } else { echo "ファイルをアップロードできません。"; echo "<br>お手数ですが前の画面に戻ってもう一度ファイルをアップロードしてください。"; echo "<br><FORM><INPUT TYPE=button value=前のページに戻る onClick=JavaScript:history.back()></FORM>"; } } else { echo "ファイルが選択されていません。"; echo "<br>お手数ですが前の画面に戻ってファイルを選択してください。"; echo "<br><FORM><INPUT TYPE=button value=前のページに戻る onClick=JavaScript:history.back()></FORM>"; } ?></p> </body> </html>

    • ベストアンサー
    • PHP
  • ファイルのアップロード

    いつもお世話になっております。 ファイルをアップロードするプログラムを作成しています。 最大ファイルサイズを200MBに設定しようと思っております。 PHPの設定を行なったのですが、ブラウザがフリーズしていまい うまくアップロードできません。 設定は下記のようにしました。 間違い、アドバイスがありましたら、ご教示お願いいたします。 よろしくお願いいたします。 test.php -------------------------------------------------- <form name="form1" method="post" action="test.php" enctype="multipart/form-data">  <input type="hidden" name="MAX_FILE_SIZE" value="200000000" />  <input name="mfile" type="file">  <input name="cfm" type="submit" value="確認画面へ"> </form> php.ini -------------------------------------------------- max_execution_time = 180 memory_limit = 250M post_max_size = 225M upload_max_filesize = 225M <環境> PHP:5.2.5

    • 締切済み
    • PHP
  • WEBサイトからファイルマネージャへ直接画像をアップロードするには

    はじめまして。 自分のサイトのページからファイル参照をし、 [<FORM method="POST" enctype="multipart/form-data" action="img_upload.php"> <INPUT type="hidden" name="MAX_FILE_SIZE" value="65536"> 画像のファイル名を入力してください(最大64KByte) <INPUT size="30" type="file" name="upfile"><BR> <BR> <INPUT type="submit" name="submit" value="送信"> <INPUT type="reset" name="reset" value="リセット"> </FORM>] 自分の借りているレンタルサーバにあるファイルマネージャへ直接画像をアップし、 違うページで表示させたいのですが可能でしょうか。 サンプルソースや参考になるサイトを教えていただけるとありがたいです。 どうかよろしくお願いいたします。