• ベストアンサー

ホームページ作成 クライアント側のファイルを開く???

ホームページ作成 クライアント側のファイルを開く??? あるホームページを作成してます。 そこで行いたいのがクライアント側にあるPDFファイルを指定して開きたいです。 いろいろサイトを検索してみたのですが、よくわかりません。教えて下さい。 そもそも可能なのでしょうか? <input type="file" name="f_name1">でファイルを参照して開いたり <input type="text" name="f_name2">など直接ファイル名を入力したりして開きたいです。

  • WOVOW
  • お礼率11% (7/61)

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

javascriptでローカルなファイルを操作する事は、不可能なのですが、 ある制約の下で出来ます(下記のサンプルのように)。 肝は ・ActiveXコンポーネントを使って、WindowsのWScript.Shellを起動させ、 ファイルを実行(実際はpdfにWindows側で関連付けされたアプリが 起動されているのですが..)させています。 ・これはしごく単純な例で、実際はいろいろ考慮店があります。 ・当然IEしかだめで、しかもセキュリティオプションをクライアント  側で調整しておく必要があります。(具体的な調整の仕方はIEのバージョン毎に、 さらにPCの環境ごとに異なりますから、かなりIEの知識が必要です。よくしらん) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Open Local PDF file</title> <script type="text/javascript" charset="Shift_JIS"> <!-- function open_file(){ var file_path=select_file.f_name1.value? select_file.f_name1.value:select_file.f_name2.value; if(file_path){ var app = new ActiveXObject("WScript.Shell"); app.Run(file_path); } } // --> </script> <body> <form action="javascript:void(0);" name="select_file"> ファイル名を入力<input type="text" name="f_name1" value="C:\Temp\旅費精算書.pdf"><br> ファイルを参照して開く<input type="file" name="f_name2"><br> <button onclick="open_file();">開く</button> </form> </body> </html>

その他の回答 (1)

回答No.2

クライアント側がどんなのかしらんが、 そっちに、apacheみたいなものを、さりげなく入れて、呼び出す。 ちがうか・・・ やっぱり無視してくれ。

関連するQ&A

  • フォームの一部のfileを送信

    上手に出来る方法をアドバイス下さい。 <form method="post" name="uploadForm" id="uploadForm" enctype="multipart/form-data" action="aaa.php"> <input type="text" name="text1" id="text1"> <input type="file" name="upload_file" id="upload_file"> <input type="button" value="アップロード"> <input type="text" name="text2" id="text2"> <input type="submit" value="送信"> </form> のようなフォームで「アップロード」が押された場合、"upload_file"だけ送信したいのですが上手い方法があるでしょうか? また、「送信」が押された場合、"upload_file"以外を送信したいです。 「POST先で無視をする」以外でお願いします。

  • WSH

    こんにちは。 下記のようなものを作りたいのですが、動きません。 どう記述するものなのでしょうか? おかしい部分はループ内の"I"です。 HTMLでフォームをおき、一列(4つ)一組として、三列用意しました。たとえば、 あ い う え か き く け さ し す せ と各テキストボックスに入力し、実行ボタンを押したとき、テキストファイルには、 あ,い,う,え か,き,く,け さ,し,す,せ と書き込まれるようにしたいのです。 下記、ソースです。 よろしくお願いいたします。 <script language=vbscript> <!-- Sub ok_OnClick dim o,p,q,r,str,I,n n=3 Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.CreateTextFile("a.txt") for I =1 to n o=File[I]Name1.value p=File[I]Name2.value q=File[I]Name3.value r=File[I]Name4.value str=o+","+p+","+q+","+r tmpFile.WriteLine(str) loop tmpFile.close Set tmpFile = Nothing Set fso = Nothing End Sub --> </script> <html><body><center> <input type=text name=File1Name1 value=""> <input type=text name=File1Name2 value=""> <input type=text name=File1Name3 value=""> <input type=text name=File1Name4 value=""><br> <input type=text name=File2Name1 value=""> <input type=text name=File2Name2 value=""> <input type=text name=File2Name3 value=""> <input type=text name=File2Name4 value=""><br> <input type=text name=File3Name1 value=""> <input type=text name=File3Name2 value=""> <input type=text name=File3Name3 value=""> <input type=text name=File3Name4 value=""><br><br><br> <input type=button name=ok value=登録></center> </body> </html>

  • 入力フォームにおける配列データに関して

    こんにちは。お世話になっております。 タイトルにあるように、フォームの中に入力されたデータを配列として、POSTするようなものを作成しました。 こんな感じ。 <p>ファイル</p> <input name="fl[]" type="file" size="50"><br> <input name="fl[]" type="file" size="50"><br> <input name="fl[]" type="file" size="50"><br> <p>キーワード</p> <input type="text" name="keyword[]" size="18"><br> <input type="text" name="keyword[]" size="18"><br> <input type="text" name="keyword[]" size="18"><br> このフォームは、ファイルをアップロードし、かつ各ファイル毎に関連するキーワードを入力・登録させるためのものですが、データをPOSTしたとき、ファイルもキーワードも配列としているので、ファイル1段目とキーワード1段目。ファイル2段目とキーワード2段目・・・といった形で配列に格納されるものと思っておりましたが、ファイルがローカル上の同じフォルダ内にあるものに限っては、配列への格納順が保たれるのですが、違うフォルダからアップロードさせると、配列への格納順が保たれないことに気付きました。 そもそも、上記のようなフォームの作成は誤っているものなのか? それとも、このような場合、違う形式でのフォームを作成すべきなのか?などなど・・ 経験の乏しい私には解決策が見出せずに、今回投函させていただいた次第です。 お忙しい中恐縮ですが、アドバイスなど頂戴出来れば幸いです。 宜しくお願い致します。

    • 締切済み
    • PHP
  • ファイルの内容が表示できるか?

    外部ファイルでお願いします。 参照ボタンから、何でもいいのでファイルを選びます。ファイル名がテキストボックスに表示されます。 下にあるYESボタンを押すと、その下にコメントアウト してあるテキストボックスが上記のID,ファイル名に追加されテキストボックスの中に参照ボタンから選んだ ファイルが挿入される。また、左のNOボタンを押すと その列が削除されるというやり方は可能でしょうか? <html> <head> <title>画面</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <table> <col width="100"> <col width="100"> <tr> <td> <input type="file" name="file"size="50"> </td> </tr> </table> <table border ="1"> <col width="50"> <col width="200"> <tr> <th>ID</th> <th>ファイル名</th> </tr> </table> <input type="button" name="yes" value="YES"value="" > <!-- <table border="1"> <col width="50"> <col width="200"> <tr> <td><input type="button" name="no"value="NO"value="" ></td> <td><input type="text" name="file" size="40" value=""></td> </tr> </table> --> </body> </html>

  • 新規ファイルを作成する

    にはどうしたらいいのでしょうか? <?php $file='gomi.dat'; $in=isset($_POST['in'])?$_POST['in']:'bad'; if(file_exists("$file")) { $a=file("$file"); foreach($a as $value) { echo "$value<br/>"; } } $fp=fopen("$file","w"); // <-------------- fwrite($fp,"$in\n"); fclose($fp); ?> <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>"> <input type="text" name="in"/> <input type="submit" value="send"/> </form> は動きませんが $fp=fopen("$file","w"); // <-------------- を $fp=fopen("$file","r+"); // <-------------- としてあらかじめ空の gomi.dat (モード777)を作っていれば動きます どうしたら $fp=fopen("$file","w"); // <-------------- にしても動くようになるでしょうか?

    • ベストアンサー
    • PHP
  • ホームページ作成について

    教えてください! 現在、ホームページビルダーV8を使用してホームページを作成しているのですが、PDFファイルを閲覧しているユーザーにクリックでインストール(開くことが出来る)ようにしたいのですが、HPビルダーに機能がそのあるかどうかと、その方法を教えていただきたいのですが…。 ちなみに「ファイルの挿入」→「PDFファイル」とすると作成ページにリンクされます。その機能を使うのでしょうか?その場合、PDFファイルの公開の仕方が分からないのですが。 サーバーはBIGLOBE(5f)を使用しています。 よろしくお願いいたします。

  • ファイルのアップロードで文字化けします

    ファイルのアップロードを行うと特定文字以降の名前が消えてしまいます。 (予、表など2バイトコードに5Cが含まれる文字) コードは下のように書いています。 <form enctype="multipart/form-data" action="upload_fnc.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> サーバの動作環境はLinux(FedoraCore3)、Apache2.0.52、PHP4.3.10です。 クライアント側はほとんどがWindows(2000、XP)です。 どのようにして対処すればよいか分からなく困っています。 どなたかお分かりの方がいらしたら教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • .NET ASP クライアント側でファイルの保存

    .Net でWebのアプリケーションを作成しています。 サーバー側にあるデータを、クライアントにTXTファイルとして提供したいのですが、方法が良く分かりません。 System.IOを使おうとしたのですが、サーバにアクセスする権利がないとエラーになり、作成できません。 サーバ側のファイルにアクセス権をつけたりせず、データだけを、クライアントに渡して、ファイルにしたいのですが、できないのでしょうか?

  • ReadParseを使ってのバイナリファイルのアップロード

    ファイルをアップロードするCGIを作ろうと思い、以下のように書いてみました。そうしたところテキストファイルのアップロードには成功しましたが、バイナリファイルだとアップロード出来ても開けなかったり、画像が崩れてしまったりしてしまいました。 何故バイナリファイルだとアップロードが失敗してしまうのかわかりません。どこを直せば良いのでしょうか。 よろしくお願いします。 ----------------------------------------------- フォーム <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="xxx.pl"> <INPUT TYPE="file" NAME="file"> <INPUT TYPE="submit" VALUE="アップロード"> </FORM> ------------------------------------------------ xxx.pl &ReadParse(*in, *f_name, *f_type); $f_name{'file'}=~/([^\\\/]+)$/; $filename = $1; open(IN, ">$filename"); print IN $in{'file'}; close(IN);

    • ベストアンサー
    • CGI
  • フォーム「ファイル参照」がうまくいきません

     自分のホームページで「投稿フォームページ」で、ホームページ閲覧者からフォームで画像ファイルを送ってもらえるようにする為に「ファイル参照」タグを入れているのですが、全然うまく送られてきません。  他のタグの内容は問題なくメーラーに送られてきますが、添付参照ファイルだけは、そのファイル名のテキストだけで画像ファイルが送られてこない状態なんです。  ちなみに私が現在入れている「ファイル参照」タグは <input type="FILE" name="filename1" accept="image/jpeg, image/gif, image/png" size="20">です。HP作成環境はMacOS,AdobeGolive5.0です。確認ブラウザはInternetExplorer,Netscapeです。  馬鹿な質問かも知れませんが、どなたかお助け下さい。

専門家に質問してみよう