CFFTP: 接続 : ファイルおよびディレクトリのオペレーション  
説明

cfftp を使用してファイルおよびディレクトリのオペレーションを行うには、この形式の cfftp タグを使用します。

 
シンタックス
<cfftp
   action = "action"
   username = "name"
   password = "password"
   name = "query_name"
   server = "server"
   ASCIIExtensionList = "extensions"
   transferMode = "mode"
   failIfExists = "yes"、"no"
   directory = "directory name"
   localFile = "filename"
   remoteFile = "filename"
   item = "directory"、"file"
   existing = "file"、"directory name"
   new = "file"、"directory name"
   proxyServer = "proxy server"
   passive = "yes"、"no">
result = "result_name"
 
関連項目

cfhttp、cfldap、cfmail、cfpop

 
使用方法

アクティブな FTP 接続への接続キャッシュを使用する場合は、username、password、または server 接続属性を再指定する必要はありません。

キャッシュされている接続を変更するときには (retryCount 値や timeout 値を変更する場合など)、接続の再確立が必要になることがあります。

action = "listDir" の場合、attributes 列には directory または normal が返されます。その他の hidden や system といったプラットフォーム特有の値は、現在はサポートされていません。

action = "listDir" の場合は、mode 列が返されます。この列には、UNIX アクセス許可を表す 8 進数の文字列表記が含まれています (例 : "777")。

cfftp.returnValue 変数は、次のアクションについての戻り値を返します。

  • getCurrentDir
  • getCurrentURL
  • existsDir
  • existsFile
  • exists

詳細については、『ColdFusion MX 開発ガイド』 を参照してください。

注意: ファイルやディレクトリなどのオブジェクト名では、大文字と小文字が区別されます。
 
アクションと cfftp.ReturnValue 変数

アクションの結果によって、returnValue 変数の値が次の表のように決まります。

cfftp アクション cfftp.returnValue の値

getCurrentDir

文字列値です。現在のディレクトリです。

getCurrentURL

文字列値です。現在の URL です。

existsDir

yes または no です。

existsFile

yes または no です。

exists

yes または no です。

returnValue 変数にアクセスするには、result 属性で指定される値 (その値が設定されている場合) または cfftp を変数の前に付ける必要があります。result 属性は、複数のページから同時に行われる可能性がある cfftp 呼び出しについて、一方の呼び出しの結果が他方の呼び出しの結果を上書きしないようにするための方法を提供します。result 属性を myResult に設定した場合は、たとえば myResult.returnVariable として returnVariable 変数にアクセスします。あるいは、cfftp.returnVariable としてこの変数にアクセスします。

 

次の例では、接続を開き、ファイルリストを取得し、ファイル名、ディレクトリ名、パス、URL、長さ、および修正日を表示します。

<p>接続を開きます。
<cfftp connection = "myConnection"
   username = "myUserName"
   password = "myUserName@allaire.com"
   server = "ftp.allaire.com"
   action = "open"
   stopOnError = "Yes"> 

<p>成功しましたか? <cfoutput>#cfftp.succeeded#</cfoutput>
<cfftp connection = "myConnection"
    action = "LISTDIR"
    stopOnError = "Yes"
    name = "ListDirs"
    directory = "/">

<p>FTP ディレクトリリスト<br>
<cftable query = "ListDirs" HTMLTable = "Yes" colHeaders = "Yes"> 
   <cfcol header = "<b>名前</b>" text = "#name#">  
   <cfcol header = "<b>パス</b>" text = "#path#"> 
   <cfcol header = "<b>URL</b>" text = "#url#"> 
   <cfcol header = "<b>長さ</b>" text = "#length#">
   <cfcol header = "<b>最終修正日</b>"
    text = "#DateFormat(lastmodified)#">  
   <cfcol header = "<b>IsDirectory</b>" text = "#isdirectory#">
</cftable>

<p>イメージファイルをリモートサーバーに移動します。<br></p>
<!--- 特記なき限り、イメージは FTP サーバーのルートディレクトリに配置
されます。 
例 : remoteFile = "somewhere_put.jpg" vs remoteFile = "/support/somewhere_put.jpg"
---> 
<cfftp
connection = "myConnection"
action = "putFile" 
name = "uploadFile" 
transferMode = "binary" 
localFile = "C:filesuploadsomewhere.jpg" 
remoteFile = "somewhere_put.jpg" 
>
<p>成功しましたか? <cfoutput>#cfftp.succeeded#</cfoutput>

<p>接続を閉じます。
<cfftp connection = "myConnection"
    action = "close"
    stopOnError = "Yes">
<p>成功しましたか? <cfoutput>#cfftp.succeeded#</cfoutput>
ACTION  
  接続がキャッシュされていない場合は必須
 

実行する FTP オペレーションです。

  • changedir
  • createDir
  • listDir
  • removeDir
  • getFile
  • putFile
  • rename
  • remove
  • getCurrentDir
  • getCurrentURL
  • existsDir
  • existsFile
  • exists
USERNAME  
  接続がキャッシュされていない場合は必須
 

FTP オペレーションで渡すユーザー名です。

PASSWORD  
  action = "open" の場合は必須
 

ユーザーがログインするためのパスワードです。

NAME  
  action = "listDir" の場合は必須
 

ディレクトリリストのクエリー名です。

SERVER  
  FTP 接続がキャッシュされていない場合は必須
 

接続先の FTP サーバーです (例 : ftp.myserver.com)。

ASCIIEXTENSIONLIST  
  オプション
 
Default value: "txt;htm;html;cfm;cfml;
shtm;shtml;
css;asp;asa"

transferMode = "auto" のときに強制的に ASCII 転送モードを使用するファイル拡張子のリストです。セミコロンで区切って指定します。

TRANSFERMODE  
  オプション
 
Default value: "Auto"
  • ASCII FTP 転送モード
  • Binary FTP 転送モード
  • Auto FTP 転送モード
FAILIFEXISTS  
  オプション
 
Default value: "yes"
  • yes: 同じ名前のローカルファイルが存在する場合、getFile アクションは失敗します。
  • no
DIRECTORY  
  action = "changedir"、"createDir"、"listDir"、または "existsDir" の場合は必須
 

オペレーションの対象となるディレクトリです。

LOCALFILE  
  action = "getFile" または "putFile" の場合は必須
 

ローカルファイルシステム上にあるファイルの名前です。

REMOTEFILE  
  action = "getFile"、"putFile"、または "existsFile" の場合は必須
 

FTP サーバーファイルシステム上にあるファイルの名前です。

ITEM  
  action = "getAll" または "getHeaderOnly" の場合は必須
 

これらのアクションの対象となるファイルまたはディレクトリです。

EXISTING  
  action = "rename" の場合は必須
 

リモートサーバー上にあるファイルまたはディレクトリの現在の名前です。

NEW  
  action = "rename" の場合は必須
 

リモートサーバー上にあるファイルまたはディレクトリの新規名です。

PROXYSERVER  
  オプション
 

文字列で指定します。プロキシアクセスを指定した場合に使用するプロキシサーバーの名前です。

PASSIVE  
  オプション
 
Default value: "no"
  • yes: passive モードを有効にします。
  • no
RESULT  
  オプション
 

cfftp で returnValue 変数を格納する格納先の構造体の名前を指定します。指定すると、その値が接頭辞として cfftp の代わりに使用され、returnVariable にアクセスするときに使われます。詳細については、「使用方法」を参照してください。