会社でも以前話題になったんですが、それ以前からFlickr の画像アップローダーが生かしてるな~って思ってどうしてるんだろう思ってんですが、SWFUpload っていう便利クラスがあるんですね。どう実現してるのか知りたくて横取り丸で Flickr の通信を見た際にこんな swf があったんで、バイト数を External Interface とかで JS 側に渡してるのかなって思ってたんですが、こんな便利クラスがあるんだったら使ってみようってことで試してみました。
使い方はいたって簡単でココを参考に作成しましたが、SWFLoad のトップページ同じ構成で、SWFUpload.js とか example_callbacks.js をそのまま同じように読み込んで使ってみた方が早い。もっとオリジナリティを出すには CSS だったり JS をカスタマイズしなければならないけど、エラーも出やすいのでマニュアルを理解した方がいい。
なお、js 側に記述するアップロード先の upload_script の php は下記の様な感じで書いて、同階層の uploads ディレクトリに写真をアップロードする。
<?php
//$upload_path = str_replace("\\", "/", realpath(dirname($_SERVER['SCRIPT_FILENAME']))) . "/uploads/";
$upload_path = "uploads/";
// Handle the upload
if (!move_uploaded_file($_FILES["Filedata"]["tmp_name"], $upload_path . $_FILES["Filedata"]["name"])) {
header("HTTP/1.0 500 Internal Server Error");
}
?>
以前、同様な事をテキストでトライした時はあまりの速さにバイト数が取れなかったが。













