cfftp: FTP サーバー接続の確立と切断

説明

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

シンタックス

<cfftp 
action = "open|close|quote|site|allo|acct"
systemtype = "windows | unix" 
actionparam = "command or account information" 
buffersize = "number" 
connection = "name" 
passive = "yes|no" 
password = "password" 
port = "port" 
proxyServer = "proxy server" 
retryCount = "number" 
server = "server" 
stopOnError = "yes|no" 
timeout = "time-sout in seconds" 
username = "name">

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

関連項目

cfhttpcfldapcfmailcfpop

属性

属性

必須/オプション

デフォルト

説明

action

必須

 

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

  • open:FTP 接続を確立します。
  • close:FTP 接続を終了します。
  • quote:FTP サーバーにコマンドをそのまま送信します。
  • site:サイト固有のコマンドを実行します。
  • allo:サーバー上のオペレーション(大きなファイルの配置など)に使用するメモリを割り当てます。
  • acct:アカウント情報を要求するシステムにアカウント情報を送信します。

systemType

オプション

 

この属性に指定できる値を次に示します。

  • Windows:指定された場合、CFFTP は、応答を Windows 形式のディレクトリリストとして扱います。
  • Unix:指定された場合、CFFTP は、応答を Unix 形式のディレクトリリストとして扱います。

actionparam

オプション

 

action が quote、site、または acct に設定されているときにのみ使用します。action が quote または site のときは、コマンドを指定します。action が acct のときは、アカウント情報を指定します。

buffersize

オプション

 

バッファーサイズです(単位:バイト)。

connection

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

 

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

passive

オプション

no

  • yes:passive モードを有効にします。
  • no

password

action="open" の場合は必須

 

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

port

オプション

21

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

proxyServer

オプション

 

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

retryCount

オプション

1

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

server

action="open" の場合は必須

 

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

stopOnError

オプション

yes

  • yes:処理を停止し、該当するエラーを表示します。
  • no:secure="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 は使用しないでください。

timeout

オプション

30

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

username

action="open" の場合は必須

 

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

使用方法

cfftp action="open" で接続を確立するときに connection 属性に名前を指定しておくと、他の FTP オペレーションを実行するときにその接続を再使用できるように、接続がキャッシュされます。キャッシュされた接続を後続の FTP オペレーションで使用する場合、username、password、server といった接続属性を指定する必要はありません。同じ connection 名を使用する FTP オペレーションは、キャッシュされた接続に保管されている情報を自動的に使用します。キャッシュされた接続を使用すると、接続時間を節約し、ファイル転送のパフォーマンスを向上させることができます。1 つの単純な FTP オペレーション(GetFile や PutFile など)を行うたびに接続を開く必要はありません。
close 以外のアクションでは、buffersize を指定して内部バッファーサイズを設定できます。quote、site、allo、acct のいずれかをアクションとして指定して secure="yes" に設定した場合は、エラーが発生します。site または quote をアクションとして指定する場合は、FTP サーバーに送信するコマンドを actionparam 属性で指定します。アクションが site の場合は、actionparam 属性を使用してサイト独自の情報を指定します。
セッションの間またはセッション後も接続を開いたままにするには、その接続名を Session スコープまたは Application スコープに挿入します。例えば、connection="Session.FTPConnection" を指定します。ただし、この方法を使う場合は、すべての FTP オペレーションで完全な変数名を指定し、終了時に close アクションを使用する必要があります。接続を開いたままにしておくと、他のユーザーが FTP サーバーを使用できません。このため、接続はできるだけ早く閉じるようにしてください。接続名をセッション変数またはアプリケーション変数に割り当てなかった場合は、接続を現在のページのためだけに開いたままになるので、手動で閉じる必要はなくなります。キャッシュされている接続を変更する場合(retryCount 値や timeout 値を変更する場合など)には、接続の再確立が必要になることがあります。

<p>cfftp lets users implement File Transfer Protocol operations. By default, cfftp caches 
an open connection to an FTP server.</p> 
<p>cfftp operations are usually of two types:</p> 
<ul> 
<li>Establishing a connection 
<li>Performing file and directory operations 
</ul> 
<p>This example opens and verifies a connection, lists the files in a directory, and closes 
the connection.</p> 
<p>Open a connection</p> 
<cfftp action = "open" 
username = "anonymous" 
connection = "My_query" 
password = "youremail@email.com" 
server = "ftp.tucows.com" 
stopOnError = "Yes"> 
<p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput> 
<p>List the files in a directory: 
<cfftp action = "LISTDIR" 
stopOnError = "Yes" 
name = "ListFiles" 
directory = "/" 
connection = "my_query"> 
<cfoutput query = "ListFiles"> 
#name#<br> 
</cfoutput> 

<p>Close the connection:</p> 
<cfftp action = "close" 
connection = "My_query" 
stopOnError = "Yes"> 
<p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput>

 Adobe

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト