cffile action = "write"

説明

ダイナミックコンテンツをベースにして、サーバーにテキストファイルを書き込みます。コンテンツからスタティックな HTML ファイルを作成したり、テキストファイル内にアクションを記録したりできます。

シンタックス

<cffile
action = "write"
file = "full_path_name"
output = "content"
mode = "permission"
addNewLine = "yes"、"no"
attributes = "file_attributes_list"
charset = "charset_option" >

関連項目

cfdirectory

ヒストリ

メインの cffile タグのページの「ヒストリ」を参照してください。

属性

属性 必須/
オプション
デフォルト 説明

action

必須

 

このタグが実行するファイル操作のタイプです。

file

必須

 

書き込み先となるファイルのパス名です。

絶対パス (ドライブ文字とコロン、あるいはスラッシュまたは円記号から始まるパス) を指定しなかった場合は、GetTempDirectory 関数から返される ColdFusion テンポラリディレクトリを基準とする相対パスになります。

output

必須

 

作成するファイルの内容です。

mode

オプション

 

UNIX および Linux だけに適用されます。許可を表す UNIX chmod コマンドの 8 進数値です。所有者、グループ、および他の利用者それぞれに割り当てられます。例 :

  • 644: 所有者に読み取り/書き込み許可、グループおよび他の利用者に読み取り許可を割り当てます。
  • 777: 利用者全員に読み取り/書き込み/実行許可を割り当てます。

addNewLine

オプション

yes

  • yes: ファイルに書き込まれるテキストに改行文字を追加します。
  • no

attributes

オプション

 

Windows に適用されます。ファイルに設定する属性をカンマ区切りリストで指定します。

この属性を省略した場合、ファイルの属性が保持されます。

値はそれぞれ明示的に指定する必要があります。たとえば、attributes = "readOnly" を指定した場合、他の属性がすべて上書きされます。

  • readOnly
  • hidden
  • normal

charset

オプション

JVM のデフォルトのファイル文字セット

ファイルコンテンツをエンコードする文字エンコードを指定します。一般的に使用される値を次に示します。

  • utf-8
  • iso-8859-1
  • windows-1252
  • us-ascii
  • shift_jis
  • iso-2022-jp
  • euc-jp
  • euc-kr
  • big5
  • euc-cn
  • utf-16

文字エンコードの詳細については、www.w3.org/International/O-charset.html を参照してください。

fixnewline

オプション

No

  • Yes: 文字列変数に埋め込まれた行終了文字を、オペレーティングシステム固有の行終了文字に変更します。
  • No: (デフォルト) 文字列変数に埋め込まれた行終了文字を変更しません。

この例では、ユーザーが HTML 挿入フォームに入力した情報を使用してファイルを作成します。

<cffile action = "write"
   file = "c:¥files¥updates¥#Form.UpdateTitle#.txt"
output = "作成者 :#Form.FullName#
作成日 :#Form.Date#
#Form.Content#">

ユーザーが次のフォームを送信した場合、

UpdateTitle = "FieldWork"
FullName = "World B. Frueh"
Date = "10/30/01"
Content = "Cambridgeport で楽しい時間を過ごした。"

c:¥files¥updates¥ ディレクトリに FieldWork.txt という名前のファイルが作成され、ファイルに次のテキストが加えられます。

作成者 : World B. Frueh
作成日 : 10/30/01 
Cambridgeport で楽しい時間を過ごした。

この例は、UNIX での mode 属性の使用方法を示しています。ファイル /tmp/foo を作成し、rw-r--r-- (owner = read/write, group = read, other = read) というアクセス許可を指定します。

<cffile action = "write"
   file = "/tmp/foo"
mode = 644>

この例では、ファイルへの追加を行い、利用者全員に読み取り/書き込み (rw) 許可を設定します。

<cffile action = "append"
   destination = "/home/tomj/testing.txt"
mode = 666
output = "これはテストですか?">

この例では、ファイルをアップロードして、アクセス許可を owner/group/other = read/write/execute に設定します。

cffile action = "upload"
   fileField = "fieldname"
destination = "/tmp/program.exe"
mode = 777>

この例では、fixnewline 属性を使用して、xmlData から派生する xmlString に埋め込まれた行終了文字を、オペレーティングシステム固有の行終了文字に変更します。

<cfxml variable="xmlData">
   <docroot>
      <payload type="string">これはプレーンテキストです。</payload>
   </docroot>
</cfxml>
<cfset xmlString = toString(xmlData)>

<cfset key = createUUID()>
<cfset encString=encrypt(xmlString, key)>
<cffile action="write" addnewline="yes" file="C:¥CFusionMX7¥wwwroot¥test¥store.dat" output="#encString#" fixnewline="yes">
<cffile action="read" file="C:¥CFusionMX7¥wwwroot¥test¥store.dat" variable="retrievedString">
<cfset decString=decrypt(retrievedString, key)>
<cfdump var="#decString#">
<cfset newXML = xmlParse(decString)>
<cfdump var="#newXML#">

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7