説明
cfftp を使用してファイルおよびディレクトリのオペレーションを行うには、この形式の cfftp タグを使用します。
シンタックス
<cfftp action = "action" systemtype = "windows | unix" ASCIIExtensionList = "extensions" connection = "connection name" directory = "directory name" existing = "file or directory name" failIfExists = "yes|no" item = "directory or file" localFile = "filename" name = "query name" new = "file or directory name" passive = "yes|no" password = "password" proxyServer = "proxy server" remoteFile = "filename" result = "result name" server = "server" timeout = "time-out in seconds" transferMode = "ASCII FTP|Binary FTP|Auto FTP" username = "name">
注意:このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。 |
関連項目
属性
属性 |
必須/オプション |
デフォルト |
説明 |
---|---|---|---|
action |
接続がキャッシュされていない場合は必須 |
|
実行する FTP オペレーションです。
|
systemType |
オプション |
|
この属性に指定できる値を次に示します。
|
ASCIIExtensionList |
オプション |
txt;htm;html; cfm;cfml;shtm; shtml;css;asp;asa |
transferMode = "auto" のときに強制的に ASCII 転送モードを使用するファイル拡張子のリストです。セミコロンで区切って指定します。 |
connection |
action = "open" または "closed" の場合は必須 |
|
FTP 接続の名前。新しい FTP 接続をキャッシュしたり、既存の接続を再利用するために使用されます。 |
directory |
action = "changedir"、"createDir"、"listDir" または "existsDir" の場合は必須 |
|
オペレーションの対象となるディレクトリです。 |
existing |
action = "rename" の場合は必須 |
|
リモートサーバー上にあるファイルまたはディレクトリの現在の名前です。 |
failIfExists |
オプション |
yes |
|
item |
action = "exists" または "remove" の場合は必須 |
|
これらのアクションの対象となるファイルまたはディレクトリです。 |
localFile |
action = "getFile" または "putFile" の場合は必須 |
|
ローカルファイルシステム上にあるファイルの名前です。詳細については、「使用方法」を参照してください。 |
name |
action = "listDir" の場合は必須 |
|
ディレクトリリストのクエリー名です。 |
new |
action = "rename" の場合は必須 |
|
リモートサーバー上にあるファイルまたはディレクトリの新規名です。 |
passive |
オプション |
no |
|
password |
action="open" の場合は必須 |
|
ユーザーがログインするためのパスワードです。 |
proxyServer |
オプション |
|
文字列。プロキシアクセスを指定した場合に使用するプロキシサーバーの名前です。 |
remoteFile |
action = "getFile"、"putFile"、または "existsFile" の場合は必須 |
|
FTP サーバーファイルシステム上にあるファイルの名前です。 |
result |
オプション |
|
cfftp で returnValue 変数を格納する格納先の構造体の名前を指定します。指定すると、その値が接頭辞として cfftp の代わりに使用され、returnVariable にアクセスするときに使われます。詳細については、「使用方法」を参照してください。 |
server |
FTP 接続がキャッシュされていない場合は必須 |
|
接続先の FTP サーバーです(例:ftp.myserver.com)。 |
timeout |
オプション |
30 秒 |
ColdFusion が FTP サーバーからの応答を待機する時間の長さ(秒単位)。キャッシュされた接続の場合、action = "open" で使用されます。 |
transferMode |
オプション |
auto |
|
username |
接続がキャッシュされていない場合は必須 |
|
FTP オペレーションで渡すユーザー名です。 |
使用方法
アクティブな FTP 接続に接続のキャッシュを使用する場合、ユーザー名、パスワードまたはサーバー接続属性を再指定する必要はありません。キャッシュされた接続を変更する場合(retryCount やタイムアウト値など)は、接続の再確立が必要になることがあります。action = "listDir" の場合、attributes 列は directory または normal を返します。その他の hidden や system といったプラットフォーム特有の値は、現在はサポートされていません。
action = "listDir" の場合は、mode 列が返されます。この列には、UNIX アクセス許可を表す 8 進数の文字列表記が含まれています(例:"777")。cfftp.returnValue 変数は、次のアクションについての戻り値を返します。
- getCurrentDir
- getCurrentURL
- existsDir
- existsFile
- exists
詳しくは、『ColdFusion アプリケーションの開発』を参照してください。
詳しくは、『ColdFusion アプリケーションの開発』の cfftp タグによるファイルの操作を参照してください。
localFile 属性
次のシンタックスを使用して、ディスクに書き込まれないメモリ内のファイルをローカルファイルとして指定します。メモリ内のファイルを使用すると、一時的データの処理が速くなります。
ram:///filepath |
ファイルパスには、ram:///petStore/images/poodle.jpg のようにディレクトリを含めることができます。ファイルを指定する前に、パスに含まれるディレクトリを作成しておく必要があります。メモリ内ファイルの使用方法について詳しくは、『ColdFusion アプリケーションの開発』の「ColdFusion アプリケーションの最適化」の「メモリ内ファイルの使用」を参照してください。
アクションと 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>Open a connection <cfftp connection = "myConnection" username = "myUserName" password = "myUserName@allaire.com" server = "ftp.allaire.com" action = "open" stopOnError = "Yes"> <p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput> <cfftp connection = "myConnection" action = "LISTDIR" stopOnError = "Yes" name = "ListDirs" directory = "/"> <p>FTP Directory Listing:<br> <cftable query = "ListDirs" HTMLTable = "Yes" colHeaders = "Yes"> <cfcol header = "<b>Name</b>" text = "#name#"> <cfcol header = "<b>Path</b>" text = "#path#"> <cfcol header = "<b>URL</b>" text = "#url#"> <cfcol header = "<b>Length</b>" text = "#length#"> <cfcol header = "<b>LastModified</b>" text = "#DateFormat(lastmodified)#"> <cfcol header = "<b>IsDirectory</b>" text = "#isdirectory#"> </cftable> <p>Move Image File to Remote Server:<br></p> <!--- The image will be put into the root directory of the FTP server unless otherwise noted, i.e., remoteFile = "somewhere_put.jpg" vs remoteFile = "/support/somewhere_put.jpg" ---> <cfftp connection = "myConnection" action = "putFile" name = "uploadFile" transferMode = "binary" localFile = "C:\files\upload\somewhere.jpg" remoteFile = "somewhere_put.jpg"> <p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput> <p>Close the connection: <cfftp connection = "myConnection" action = "close" stopOnError = "Yes"> <p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput>
アカウントにログイン