この時点で、アプリケーションはより実用的なものになっています。クライアントは、Compass Travel の新規の旅行ビジネスルールの大部分の検証を処理しています。旅行フォトファイルを除けば、サーバーは有効なデータのみを受信します。
ただし、旅行フォトファイルビジネスルールは、このデザインにうまく適合しません。このビジネスルールには次の 2 つのルールが含まれています。
ファイル名が入力されたことを確認するために、フォトの cfinput タグに required 属性を使用しました。ここで、ファイルが正しいディレクトリに存在し、アプリケーションがユーザーにそのファイルを表示できることを確かめる必要があります。
ブラウザのクライアントは、Web サーバー上で標準のファイル I/O (入力/出力) を禁じられているので、旅行メンテナンスアプリケーションは、サーバーサイド検証を使用して、フォトファイルの存在を確認します。"tripeditaction.cfm" ページにフォトファイル用のビジネスルールを追加します。
ファイルが存在することを検証するために、ColdFusion には FileExists 関数が用意されています。この関数のシンタックスは次のとおりです。
FileExists(absolute_path)
引数で指定されたファイルが存在する場合、この関数は Yes を返します。そうでない場合には、No を返します。
メモ: 旅行フォトイメージは、Web ルートディレクトリを基準として、¥cfdocs¥getting_started¥photos というパスに保管されています。したがって、Web ルートディレクトリが C:¥inetpub¥wwwroot の場合、フォトは C:¥inetpub¥wwwroot¥cfdocs¥getting_ started¥photos ディレクトリに保管されています。
FileExists 関数の詳細については、『CFML リファレンス』を参照してください。
<cfset isOk = "Yes"> ステートメントの直後に次のコードを追加します。
<!-- フォトファイルが存在するかどうかを確認します。 ---> <cfset PhotoLocation = "C:¥Inetpub¥wwwroot¥CFDOCS¥getting_started¥Photos¥"> <cfset PhotoLocation = PhotoLocation & FORM.photo> <cfif not FileExists(PhotoLocation)> <cfset isOk = "No"> <cfoutput>Trip Photo does not exist</cfoutput> </cfif>
<cfset PhotoLocation = "C:..."> タグで指定します。
たとえば、Web サーバーの設定によっては、フォトファイルのパスは次のようになります。
<cfset PhotoLocation = "C:¥CFusionMX7¥wwwroot¥cfdocs¥getting_started¥photos¥">または、
<cfset PhotoLocation = "C:¥Inetpub¥wwwroot¥CFDOCS¥getting_started¥Photos¥">
<cfset PhotoLocation = "/opt/cfusionmx7/wwwroot/cfdocs/getting_started/photos/">または、
<cfset PhotoLocation = "/<webserverdocroot>/cfdocs/getting_started/photos/">
次のエラーメッセージが表示されます。"Trip photo does not exist."
次のメッセージが表示されます。"Trip added."
次の表で、フォトファイルが存在するかどうかを検証するために使用されるコードを示します。
| コード | 説明 |
|---|---|
<cfset PhotoLocation = "C:¥CFusionMX7¥wwwroot¥cfdocs¥ getting_started¥photos¥"> |
メモ : このコードは、Windows システムに対する 1 つの値を示しています。 |
<cfset PhotoLocation = PhotoLocation & FORM.photo> |
|
<cfif not FileExists(PhotoLocation)> <cfset isOk = "No"> <cfoutput> Trip Photo does not exist. </cfoutput> </cfif> |
|
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/coldfusion/7_jp/htmldocs/bus_ru10.htm