説明
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 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。 |
関連項目
属性
属性 |
必須/オプション |
デフォルト |
説明 |
---|---|---|---|
action |
必須 |
|
実行する FTP オペレーションです。
|
systemType |
オプション |
|
この属性に指定できる値を次に示します。
|
actionparam |
オプション |
|
action が quote、site、または acct に設定されているときにのみ使用します。action が quote または site のときは、コマンドを指定します。action が acct のときは、アカウント情報を指定します。 |
buffersize |
オプション |
|
バッファーサイズです(単位:バイト)。 |
connection |
オプション(ただし open または close のときは常に使用) |
|
FTP 接続の名前です。username、password、および server 属性を指定した場合で、対応する接続がないときは、ColdFusion により新しい接続が作成されます。同じ接続名で cfftp を呼び出すと、同じ接続が再利用されます。 |
passive |
オプション |
no |
|
password |
action="open" の場合は必須 |
|
ユーザーがログインするためのパスワードです。 |
port |
オプション |
21 |
接続先のリモートポートです。 |
proxyServer |
オプション |
|
文字列。プロキシアクセスを指定した場合に使用するプロキシサーバーの名前です。 |
retryCount |
オプション |
1 |
エラーがレポートされるまでの再試行回数です。 |
server |
action="open" の場合は必須 |
|
接続先の FTP サーバーです(例:ftp.myserver.com)。 |
stopOnError |
オプション |
yes |
|
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>