CFFTP: FTP サーバー接続の確立と切断  
説明

FTP サーバーとの接続を確立するには、connection 属性に open アクションを指定します。

 
シンタックス
<cfftp
   action = "action"
   username = "name"
   password = "password"
   server = "server"
   timeout = "timeout in seconds"
   port = "port"
   connection = "name"
   proxyServer = "proxy server"
   retryCount = "number"
   stopOnError = "yes"、"no"
   passive = "yes"、"no">
 
関連項目

cfhttp、cfldap、cfmail、cfpop

 
使用方法

cfftp action="open" で接続を確立するときに connection 属性に名前を指定しておくと、他の FTP オペレーションを実行するときにその接続を再使用できるように、接続がキャッシュされます。キャッシュされた接続を後続の FTP オペレーションで使用する場合、username、password、server といった接続属性を指定する必要はありません。同じ connection 名を使用する FTP オペレーションは、キャッシュされた接続に保管されている情報を自動的に使用します。キャッシュされた接続を使用すると、接続時間を節約し、ファイル転送のパフォーマンスを向上させることができます。

1 つの単純な FTP オペレーション (GetFile や PutFile など) を行うたびに接続を開く必要はありません。

セッションの間またはセッション後も接続を開いたままにするには、その接続名を Session スコープまたは Application スコープに挿入します。たとえば、connection="Session.FTPConnection" を指定します。ただし、この方法を使う場合は、すべての FTP オペレーションで完全な変数名を指定し、終了時に close アクションを使用する必要があります。接続を開いたままにしておくと、他のユーザーが FTP サーバーを使用できません。このため、接続はできるだけ早く閉じるようにしてください。接続名をセッション変数またはアプリケーション変数に割り当てなかった場合は、接続を現在のページのためだけに開いたままになるので、手動で閉じる必要はなくなります。

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

 
<p>cfftp を使用すると、FTP (File Transfer Protocol: ファイル転送プロトコル) オペレーションの実装が
可能になります。 
デフォルトでは、cfftp を使用すると、開いている FTP サーバーとの接続がキャッシュされます。
<p>通常、ftp オペレーションには次の 2 種類があります。
<ul>
   <li>接続の確立
   <li>ファイルとディレクトリのオペレーション
</ul>
<p>この例では、接続を開いて検証し、ディレクトリ内のファイルをリストして、接続を閉じます。
<p>接続を開きます。
<cfftp action = "open"
   username = "anonymous"
   connection = "My_query"
   password = "youremail@email.com"
   server = "ftp.tucows.com"
   stopOnError = "Yes">
<p>成功しましたか? <cfoutput>#cfftp.succeeded#</cfoutput>
<p>ディレクトリ内のファイルをリストします。
<cfftp action = "LISTDIR"
    stopOnError = "Yes"
    name = "ListFiles"
    directory = "/"
    connection = "my_query">
<cfoutput query = "ListFiles">
   #name#<br>
</cfoutput>

<p>接続を閉じます。
<cfftp action = "close"
connection = "My_query"
stopOnError = "Yes">
<p>成功しましたか? <cfoutput>#cfftp.succeeded#</cfoutput>
ACTION  
  必須
 

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

  • open: FTP 接続を確立します。
  • close: FTP 接続を終了します。
USERNAME  
  action = "open" の場合は必須
 

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

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

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

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

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

TIMEOUT  
  オプション
 
Default value: "30"

個々のデータリクエストオペレーションなど、すべてのオペレーションに関するタイムアウト値です (単位 : 秒)。

PORT  
  オプション
 
Default value: "21"

接続先のリモートポートです。

CONNECTION  
  オプション (ただし open または close のときは常に使用)
 

FTP 接続の名前です。username、password、および server 属性を指定した場合で、対応する接続がないときは、ColdFusion により新しい接続が作成されます。同じ接続名で cfftp を呼び出すと、同じ接続が再利用されます。

PROXYSERVER  
  オプション
 

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

RETRYCOUNT  
  オプション
 
Default value: "1 "

エラーがレポートされるまでの再試行回数です。

STOPONERROR  
  オプション
 
Default value: "no"
  • yes: 処理が停止し、該当するエラーが表示されます。
  • no: 次の変数に値が挿入されます。
    • cfftp.succeeded - yes または no。
    • cfftp.errorCode - エラー番号。IETF Network Working Group RFC 959: File Transfer Protocol (FTP) を参照 (www.ietf.org/rfc/rfc0959.txt)。
    • cfftp.errorText - メッセージテキスト。

条件付きオペレーションには、cfftp.errorCode を使用します。cfftp.errorText は使用しないでください。

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