CFFILE ACTION = "UPLOAD"  
説明

サーバー上のディレクトリにファイルをコピーします。

 
シンタックス
<cffile
   action = "upload"
   fileField = "formfield"
   destination = "full_path_name"
   nameConflict = "behavior"
   accept = "mime_type"、"file_type"
   mode = "permission"
   attributes = "file_attribute_or_list">
   result = "result_name"
 
関連項目

cfdirectory

 
ヒストリ

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

 
使用方法

ファイルのアップロードが終了すると、ファイルアップロードのパラメータを使用してステータス情報を取得できます。パラメータを参照するには、cffile 接頭辞を使用するか、result 属性で代替名を指定した場合はその指定した名前を使用します。たとえば、result 属性で名前を指定しなかった場合は、#cffile.fileExisted# として fileExisted パラメータにアクセスします。result 属性を myResult に設定した場合は、#myResult.fileExisted# として fileExisted パラメータにアクセスします。

ステータスパラメータは、他の ColdFusion パラメータを使用できる場所であればどこでも使用できます。

ヒント: result 属性では、複数のページから同時に呼び出される関数または CFC について、一方の呼び出しの結果が他方の呼び出しの結果を上書きしないようにすることができます。
メモ: cffile 接頭辞を優先するために、file 接頭辞は使用禁止になりました。新規アプリケーションでは file 接頭辞を使用しないでください。
ヒント: ページのフォーム上で選択されたファイルまたは multipart/form-data HTTP メッセージ経由でページに送信されたファイルをアップロードする場合には、CGI.content_length 変数の値を調べれば、ファイルのおおよそのサイズがわかります。この変数には、ファイルの長さだけでなく、その他のリクエストコンテンツの長さも格納されています。

アップロードを終えた後は、次に示すファイルアップロードステータスのパラメータを使用できます。

パラメータ 説明

attemptedServerFile

ファイルを保存するために使用された初期名です。

clientDirectory

クライアントのシステムからアップロードされたファイルのディレクトリ位置です。

clientFile

クライアントのシステムからアップロードされたファイルの名前です。

clientFileExt

クライアントシステム上のアップロードされたファイルの拡張子です (ピリオドは含みません)。

clientFileName

クライアントシステム上のアップロードされたファイルの名前です (拡張子は含みません)。

contentSubType

保存ファイルの MIME コンテンツサブタイプです。

contentType

保存ファイルの MIME コンテンツタイプです。

dateLastAccessed

アップロードされたファイルが最後にアクセスされた日付と時刻です。

fileExisted

同じパスを持つファイルが既に存在しているかどうかを yes または no で示します。

fileSize

アップロードされたファイルのサイズです。

fileWasAppended

アップロードされたファイルが他のファイルに追加されたかどうかを yes または no で示します。

fileWasOverwritten

ファイルが上書きされたかどうかを yes または no で示します。

fileWasRenamed

名前の重複を回避するために、アップロードされたファイルの名前が変更されたかどうかを yes または no で示します。

fileWasSaved

ファイルが保存されたかどうかを yes または no で示します。

oldFileSize

ファイルのアップロード処理によって上書きされたファイルのサイズです。

serverDirectory

サーバー上に実際に保存されたファイルのディレクトリです。

serverFile

サーバー上に保存されたファイルの名前です。

serverFileExt

サーバー上にアップロードされたファイルの拡張子です (ピリオドは含みません)。

serverFileName

サーバー上にアップロードされたファイルの名前です (拡張子は含みません)。

timeCreated

アップロードされたファイルが作成された時刻です。

timeLastModified

アップロードされたファイルが最後に修正された日付と時刻です。

メモ: ファイルステータスのパラメータは読み取り専用です。これらのパラメータには、最新の cffile オペレーションの結果が設定されます。2 つの cffile タグを実行すると、result 属性で異なる結果変数を指定していない限り、最初の結果は 2 番めの結果によって上書きされます。
 

次の例では、Windows 上でのファイルアップロード時に名前が競合している場合に、固有のファイル名を作成します。

<!--- Windows の例 --->
<!--- フォーム変数が存在するかどうかを確認します。 --->
<cfif isDefined("Form.FileContents") >
   <!--- TRUE の場合、ファイルをアップロードします。 --->
   <cffile action = "upload" 
      fileField = "FileContents" 
      destination = "c:filesupload" 
      accept = "text/html" 
      nameConflict = "MakeUnique">
<cfelse>
   <!--- FALSE の場合、フォームを表示します。 --->
   <form method="post" action=<cfoutput>#cgi.script_name#</cfoutput> 
      name="uploadForm" enctype="multipart/form-data">
      <input name="FileContents" type="file">
      <br>
      <input name="submit" type="submit" value="Upload File"> 
   </form>
</cfif>
ACTION  
  必須
 

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

FILEFIELD  
  必須
 

ファイルを選択するときに使用したフォームフィールドの名前です。

フィールド名を指定するときにシャープ記号 (#) を使用しないでください。

DESTINATION  
  必須
 

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

NAMECONFLICT  
  オプション
 
Default value: "Error "

ファイル名がディレクトリ内のファイルと同じ場合に実行するアクションです。

  • Error: ファイルは保存されません。ColdFusion によりページの処理が停止され、エラーが返されます。
  • Skip: ファイルは保存されません。このオプションでは、ファイルプロパティに基づいて、動作をカスタマイズできます。
  • Overwrite: ファイルを上書きします。
  • MakeUnique: アップロード用に固有のファイル名を作成します。この名前は、file オブジェクト変数 serverFile に保管されます。
ACCEPT  
  オプション
 

受け入れる MIME タイプを制限します。カンマで区切って指定します。たとえば、JPEG ファイルと Microsoft Word ファイルのアップロードを許可するには、次のように指定します。

accept = "image/jpg, application/msword"

ブラウザは、ファイル拡張子に基づいてファイルタイプを判別します。

MODE  
  オプション
 

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

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

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

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

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

  • readOnly
  • hidden
  • normal (normal 以外に他の属性が指定されている場合、normal よりも他の属性が優先されます)
RESULT  
  オプション
 

cffile が結果またはステータスのパラメータを返す変数の名前を指定することができます。この属性の値を指定しない場合、cffile は `cffile' という接頭辞を使用します。詳細については、「使用方法」を参照してください。