web-dev-qa-db-ja.com

ブラウザでローカルファイルを開く方法

Webサイトにはタグがあり、hrefはローカルファイルへのパスです。例えば、 <a href="D:\test.txt">Link</a>。動作しません。

それを正しく行う方法は? :)これはIE=でのみ機能する必要があります。他のブラウザは必要ありません。

8
Denis Sokolov

ここでは、「ファイル」プロトコルを使用してHTML内のファイルをリンクする必要があります。

<a href="file:///D:\test.txt">Link</a>

セキュリティ設定により、ブラウザがファイルを開く場合と開かない場合があります。右ボタンをクリックして[リンクアドレスをコピー]を選択し、ブラウザに貼り付けることができます。

7
Kungfu_panda

同じ問題に遭遇し、解決策を探しましたが何も見つかりませんでした。file://はローカルファイルを開くことは許可されていません。これは機能しません。

誰にとってもそれを解決することはできませんが、phpでfile_get_contents()を使用して回避策を実行しました。これは、ファイルのテキストコンテンツを取得して変数に入れるphpの関数です。これにより、ネットワーク上のローカルファイルにアクセスできます。

したがって、ファイルのIDまたは文字列を取得してデータを取得するphpファイルを作成し、ブラウザがホストするファイルに関する限り、phpを使用して画面に表示します

<a href='getContents.php?id=5'>

getContents.php

<?php
$id = $_GET['id'];
if(ctype_alnum($id)){//
//get file name from Database
$data[5]['file_path'] = 'file.htm';
$page = file_get_contents('//server//'.$data[$id]['file_path']);
echo $page;
}
?>
3
Bim

file URI を使用します。

テストできません(Windows/IEはありません)。ただし、次の条件を満たす必要があります。

file:///D:/test.txt

以下も参照してください。

2
unor

デフォルトのプログラムでローカルにファイルを開きたい場合は、私のURLプロトコルをチェックしてください https://github.com/berti92/FileBridge

それをインストールして、urlプロトコルでリンクを作成します。

<a href="filebridge:PASTE HERE THE PATH">Open me</a>
1
Berti92