複数のファイルをアップロード

デモ

  1. SWFUpload V2 、SWFUpload v1.0.2 Plugin を使用
  2. 複数のファイルを選択(Shift や Ctrl を押しながら選択)
  3. 30ファイルまたはファイル容量合計30MBまでアップロード可能
  4. Flash10 Player 対応版はこちら → http://spinnen.jp/swf_simple_demo/

要点の説明

  1. SWFUpload V2 をダウンロード → http://swfupload.org/ → Downloads
    → Google Downloads → SWFUpload v2.0.2.Release.zip
  2. SWFUpload v2.0.2.Release.zip を解凍 → swfupload\demos をそのまま Webサーバへアップロード
  3. webサイト/swfupload/demos/index.php にアクセス
  4. 各種のデモサンプルがあるので、それをクリック
  5. 上記のデモでは、v102demo (SWFUpload v1.0.2 Plugin Demo) の CSS を修正して使用
  6. v102demo フォルダーに 保存先のフォルダーを ./uploads として、作成。
  7. upload.php に 保存するコマンドを入れて完了
    $file_tmp = $_FILES['Filedata']['tmp_name'];
    $file_sv = mb_convert_encoding($_FILES['Filedata']['name'],"SJIS","auto");
    move_uploaded_file($file_tmp, "./uploads/".$file_sv);
  8. デモで使用しているサーバは、Windows2000Server+内部EncodingがEUC-JPのため、
    文字化けを解消するために、mb_convert_encoding でファイル名を変更
  9. ファイル名の制限、ファイルタイプの限定、サイズ等各種チェックを盛り込んだサンプルが、swfupload\samples\php\upload.php
    にあるので、参考にしてください。
  10. <form action="upload.php" method="post" enctype="multipart/form-data"> の upload.php を upload.asp や upload.aspx などに変更して、普通のファイル受信の通りに行えば、PHP以外でも可能。
    複数ファイルをひとつ処理していくので、upload.xxx でその処理を追加すればOK。
    その場合、index.php の upload_script : "../upload.php", を処理するファイルに変更
  11. index.phpは、index.html などに変更しても動作OK。
  12. swfupload\demos\applicationdemo.net に .net のサンプルあり。
  13. Firefox2 + Firebug を使用している場合、index.php の debug : false → true にすると、デバッグ内容がConsoleに表示されます。

修正履歴

  1. 2009-01-10 Flash10 では動作しないことを確認 → FLash10 対応版
  2008年3月9日   2009-01-10 修正