このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。 |
guestMsgまたはguestMsg2で書き込みがいっぱいになると次のファイルを自動的に作らせたいのですが、 Tanaka's osax の getFileDataSizeを使うのはわかったのですが、スクリプトのどの部分にどんなコマンドを 入れればいいのでしょうか? 初心者なのですいません
田中求之 さんからのコメント
( Wednesday, April 01, 1998 18:49:09 )
CGI Kit はあくまでも自作のためのサンプルです。くどいようですが、この点を もういちどいっておきます。 色々と方法はありますが、ここでは guestMsg2 (メッセージが一つのファイルに追記 されていくものです)で、メッセージの容量が 20K を越えたら、古いものはファイル 名を変更し、新しいページを作り直すという例を示します(古いページへのリンクなどは 自分で手動で行ってください)。 set myFm to alias (thisFldr & "msg_base") set myFh to alias (thisFldr & "msg_header") set myFx to alias (thisFldr & "msg.html") set oldData to readFromFile myFm set myData to myData & oldData writeToFile myData to myFm set myHeader to readFromFile myFh writeToFile (myHeader & myData) to myFx の部分を以下のように書き換えます。 set myFm to thisFldr & "msg_base" set myFh to thisFldr & "msg_header" set myFx to thisFldr & "msg.html" set oldData to readFromFile file myFm if (byteLength of oldData) > 20480 then set myNewName to (TimeStamp) & "_msg.html" tell application "Finder" set name of file myFx to myNewName end tell else set myData to myData & oldData end if writeToFile myData to file myFm set myHeader to readFromFile file myFh writeToFile (myHeader & myData) to file myFx 古いページは msg.html と同じフォルダーの中に 980401184703_msg.html というような、タイムスタンプ+ _msg.html という名前のファイルになって 保存されるはずです。 なお、このスクリプトは実際の動作は試していませんのであしからず。