複数のファイルをアップロード
要点の説明
- SWFUpload V2 をダウンロード → http://swfupload.org/ → Downloads
→ Google Downloads → SWFUpload v2.0.2.Release.zip
- SWFUpload v2.0.2.Release.zip を解凍 → swfupload\demos をそのまま Webサーバへアップロード
- webサイト/swfupload/demos/index.php にアクセス
- 各種のデモサンプルがあるので、それをクリック
- 上記のデモでは、v102demo (SWFUpload v1.0.2 Plugin Demo) の CSS を修正して使用
- v102demo フォルダーに 保存先のフォルダーを ./uploads として、作成。
- 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);
- デモで使用しているサーバは、Windows2000Server+内部EncodingがEUC-JPのため、
文字化けを解消するために、mb_convert_encoding でファイル名を変更
- ファイル名の制限、ファイルタイプの限定、サイズ等各種チェックを盛り込んだサンプルが、swfupload\samples\php\upload.php
にあるので、参考にしてください。
- <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", を処理するファイルに変更
- index.phpは、index.html などに変更しても動作OK。
- swfupload\demos\applicationdemo.net に .net のサンプルあり。
- Firefox2 + Firebug を使用している場合、index.php の debug : false → true にすると、デバッグ内容がConsoleに表示されます。