[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
裏金燃やすってさ、みんな信じてるんだろうか・・・・・
冷静に考えると、燃やすわけねーだろ! って思う。
さて、
ColdFusionを使って、お気楽にディレクトリ内のファイルをweb公開する例です。
ぶっちゃけwebサーバーの機能だけでスグできるわけですが、あえてColdFusionを使います。はい。
最近のコピー機はいわゆるネットワーク複合機で、いろんなことができます。
ワタシもよく使う機能に、スキャンしてPDFにしてメールで送ってくれる機能があります。
当たり前ですがオートフィーダーもついているので、数十枚のペーパーをさくっとPDFにすることができます。
メールアドレスを登録しておけば、メール送信してくれたり、ユーザー名パスワードを設定して、サーバーのフォルダに直接保存したりできます。
この機能は、総務系うっかり課長(イメージ右図)レベルでも使えるので、「ペーパーレス化」とか「業務効率化」とか、耳障りのいいコトバと共にじゃんじゃんPDFが生成されるわけです。
すると当然総務系うっかり課長(イメージ右図)なんかは、「おい!回覧したりFAXしてる訃報なんぞは、PDFで送れば通信費削減だな!」 などと言い出すのは、たぶん何処の企業でも同じだと想像します。
すると今度は総務系オツボネーゼが「課長!そんなこと言ったって、メールでみんなに送るなんてめんどくさくてありえなーい!」と反論。で、じゃぁホームページで公開すれば・・・・・ となりオハチが廻ってくるしくみです。
そんな背景でサクッと。
webサーバーに公開用フォルダを用意します。アクセス制限をして、総務系オツボネーゼに書き込み権限を与えて、オツボネーゼのデスクトップにショートカットを仕込みます。
この公開用フォルダにPDFを保存すれば、そのまんま公開されるしくみを作ります。
オツボネーゼの仕事は、「コピー機でPDFを作り、ファイル名を整えて保存する」となり、このくらいなら「えーファイル名変えるのめんどくさーい」程度のイヤミを聞かされる程度で業務に組み込めますね。
<cfdirectory directory="/var/www/html/fuho" action="list" name="spf" filter="*.pdf" sort="name DESC"/>
<cfoutput>
<h3>訃報</h3>
<cfloop query="spf">
<div class="items">
<cfif (IsNumeric(ListGetAt(name,1,'.')) is false) or (Len(ListGetAt(name,1,'.')) neq 8)>
[#name#]←ファイル名がyyyymmdd.pdfでは無いようです....
<cfelse>
<h3><a href="./kyu/sambaweb/newspaper/#name#" target="_PDF">#left(name,4)#年 #mid(name,5,2)#月 #mid(name,7,2)#日</a> (#NumberFormat(size/1024/1024,'__._')#MB)</h3>
</cfif>
</div>
</cfloop>
</cfoutput>
ソースです。fuho フォルダにyyyymmdd.pdf 形式でpdfを保存すると、
2006年 09月 07日 ( 2.1MB)
2006年 09月 06日 ( 1.1MB)
2006年 09月 05日 ( 2.3MB)
といった感じで日付にpdfへのリンクが張られ、サイズが表示されます。
== 解説 ==
1行目の<cfdirectory>(→LiveDocs)で指定したフォルダ内のリストを取得しています。
directory="/var/www/html/fuho" は絶対パスで。Linuxなのでこう書いてますが、windowsなら directory="d:\inetpub\wwwroot\hogehoge" などと、ドライブレターからですね。
他のパラメータの意味は、
action="list" 欲しいのはリストだよ
name="spf" 取得した一覧はspf っていう変数に入れてね
filter="*.pdf" 取得するのは、拡張子がpdfのファイルだけでいいよ
sort="name DESC" ファイル名降順で並べ替えておくれ
という意味です。
ここで文字化けの問題に遭遇することがあります。
linuxのCFサーバーから、sambaで公開している日本語ファイル名を読むと、バケバケです。
これを回避する方法は今のところ解りません。誰か教えて下さい!
ワタシの見つけた唯一の解決策は、windowsのCFサーバーから、linuxのsambaフォルダを読むと文字化けしない。ってことです。
cfdirectoryはネットワーク越しでも使えますから。(でもスッキリしない・・・・・誰か教えて!)
つづく
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |