説明

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

シンタックス

<cffile
action = "write"
file = "full pathname"
output = "content"
addNewLine = "yes|no"
attributes = "file attributes list"
charset = "character set option"
fixnewline = "yes|no"
mode = "permission">

注意:このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。

関連項目

cfdirectory

履歴

メインの cffile タグのページの「履歴」を参照してください。

属性

属性

必須/オプション

デフォルト

説明

action

必須

 

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

file

必須

 

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

output

必須

 

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

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: 文字列変数に埋め込まれた行終了文字を変更しません。

mode

オプション

 

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

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

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

<cffile action = "write"
file = "c:\files\updates\#Form.UpdateTitle#.txt"
output = "Created By: #Form.FullName#
Date: #Form.Date#
#Form.Content#">

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

UpdateTitle = "FieldWork"
FullName = "World B. Frueh"
Date = "10/30/01"
Content = "We had a wonderful time in Cambridgeport."

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



Created By: World B. Frueh Date: 10/30/01 We had a wonderful time in 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 = "Is this a test?">

この例では、ファイルをアップロードして、アクセス許可を 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">This is some plain text</payload>
</docroot>
</cfxml>
<cfset xmlString = toString(xmlData)>

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

ColdFusion では、cffile を使用してイメージを書き込むことができます。例 :

<!--- Create a new cfimage. --->
<cfset myImage=ImageNew("",200,200)>
<!--- Draw a square on the image. --->
<cfset ImageDrawRect(myImage,10,10,100,100)>
<!--- Use cffile to write the cfimage to a JPG. --->
<cffile action="write" output="#myImage#" file="c:\cfpix\square.jpg">

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー