• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルの存在チェック クライアント側)

クライアント側のファイル存在チェック方法とexcel実行方法

このQ&Aのポイント
  • クライアント側でのファイル存在チェック方法を教えてください。存在しない場合にはサーバーからexcelファイルをダウンロードし、存在する場合には何もしないようにしたいです。
  • また、クライアント側でexcelファイルを実行する方法も教えてください。
  • fopen()を使用してファイル存在チェックを行いましたが、サーバー側の存在チェックになってしまい、クライアント側をチェックできませんでした。アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#246547
noname#246547
回答No.1

fopenなどのPHPコードはサーバ上で実行されるため、 クライアントに該当ファイルが存在するかどうかはPHP単独ではできません。 よって、一度ブラウザにファイルチェックをするコード(VBScript等)を埋め込んだHTML(例:check.html)を読み込ませ、ブラウザ側でファイルチェックした結果を、サーバに送信(submit)してから、 サーバ上のPHP(例:download.php)でファイルをダウンロードするかしないか判断するようにしたらどうですか? ☆check.htmlのファイルチェック部分サンプル(あくまで最低限のサンプルのため、もっとよい方法があるはずです。ヒントになればと思い添付しました) <script Language="VBScript" > <!-- function checkFile() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set f = fs.GetFile("C:/a.xls") if Err.Number = 53 then MsgBox "file not found" else MsgBox "file found" end if End function --> </script> 上記のMsgBoxの所をファイルの有無をサーバに送る手順に変更すればよいと思います。 もちろんActiveXは有効にしなければなりません。

syosin-oyaji
質問者

補足

marimari01様、早々のご教授ありがとうございました。 ご教授頂いたコードを実行したところ、ファイルの存在チェックができました。ありがとうございました。 申し遅れましたが、最終的な操作は「windows mobile(v5.0)」での実行をしたいのですが、このOSでは「VBScript」は動かないようです。 折角のありがたい情報でしたが、またお手上げ状態になってしまいました。・・・個別に手動でexcelを操作して貰うしかなさそうです。 お手隙の時で結構ですので、何かいい方法があったら教えて下さい。

その他の回答 (1)

noname#246547
noname#246547
回答No.2

ファイルチェック部分をjavascriptに変更してみてはいかがでしょうか? function ShowFileInfo(){   var fs, f, s;   fs = new ActiveXObject("Scripting.FileSystemObject");   if( fs.FileExists("C:/a.txt")){     alert( "file found");   }else{     alert( "file not found");   } }

参考URL:
http://officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm#FileExists
syosin-oyaji
質問者

お礼

ありがとうございました。

syosin-oyaji
質問者

補足

marimari01様、再度のご教授ありがとうございました。 サンプルのjavascriptを実行した結果、VBScriptと同様の結果でした。 *Windows mobile(v5.0)の機種はWILLCOM(wzero3)で、IE,OPERAの両方で実行してもだめでした。 *しかし、私にとってはmarimari01様からご教授頂いた内容は非常に有益で他のケースで活用できそうです。 *どうもお手数お掛けしました。  これからもよろしくお願いいたします。

関連するQ&A