FreeMindFlashBrowserでマインドマップを見てもらう
FreeMindをつかっていても、普通の人に配布しようとするとなかなかハードルは高いはず。FreeMindFlashBrowserをつかえばFlashとしてブラウザでみせることができてとても便利。けど、毎回swfとjsと一緒に配布するのも面倒、ということでphp化してみる。
まずは、アップロード用のHTML、ファイル名は適当。
<html><body> <form enctype="multipart/form-data" action="upload.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> </body></html>
次に、アップロード受付のupload.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>MINDMAPS</title> <script type="text/javascript" src="flashobject.js"></script> <style type="text/css"> html { height: 100%; overflow: hidden; } #flashcontent { height: 100%; } /* end hide */ body { height: 100%; margin: 0; padding: 0; background-color: #9999ff; } </style> </head> <body> <?php $filename = $_FILES['userfile']['name']; echo "$filename<p>"; ?> <div id="flashcontent"> Flash plugin or Javascript are turned off. Activate both and reload to view the mindmap </div> <script type="text/javascript"> // <![CDATA[ var fo = new FlashObject("visorFreemind.swf", "visorFreeMind", "100%", "100%", 6, "#9999ff"); fo.addParam("quality", "high"); fo.addParam("bgcolor", "#ffffff"); fo.addVariable("openUrl", "_blank"); <?php // 4.1.0より前のPHPでは$FILESの代わりに$HTTP_POST_FILESを使用すること $uploadfile = '.\\tmp.mm'; move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile); echo " fo.addVariable(\"initLoadFile\", \"" . "tmp.mm" . "\");"; ?> fo.addVariable("startCollapsedToLevel","5"); fo.write("flashcontent"); // ]]> </script> </body> </html>
上記2つを同じディレクトリに置く。
適当なマインドマップファイルをアップすると、upload.phpをおいたディレクトリにtmp.mmというファイル名で保存され、ブラウザでマインドマップを表示することができる。