• ベストアンサー

ディレクトリ表示

CDROMにhtmlを収録します(前提)。 htmlからディレクトリにリンクを張りたいと思います。通常、フルパスを指定すれば(例:D:\dir\dir) ディレクトリを表示することが出来ますが、使う人によって、CDROMドライブがDであったりEであったり違いがある為、フルパス指定はしたくありません。どうすれば良いでしょうか?

  • HTML
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.2

根本的に無理があるのでは無いでしょうか? naonaomiさんも書かれている通り、利用者の環境によってドライブレターの設定は全く違いますよね。開きたいディレクトリがどこにあるのか分からないのだから、当たり前の事ですよね。 どの様なことをしたいのか。どの様なインターフェースを求めているのか分かりませんので、余り確信に触れる書き方はできませんが。 利用者の環境を調べてエクスプローラーを起動するアプリを用意して、それをCD-ROM挿入時に実行させる様にすれば、ある程度、それらしいことをする事はできます。 ただ、そう言うアプリがフリーソフトとして存在するかは微妙です。僕も利用したことがありますが、独自に開発したプログラムを利用しています。 ダメ元で、CD-ROM起動アプリをGoogleなどで探してみてはいかがでしょうか。

naonaomi
質問者

補足

ご回答ありがとうございます。 今回の条件として(これが難題なんですが) 利用状況として、英語版のウィンドウズで利用する場合を想定しているのです。日本語フォントをインストールしたとしても、色々と厄介なことが起こらぬとも限らないので、あまりアプリケーションをかませないと使えないようなことはしたくないのです。htmlだけで解決できると嬉しいな、と思うのですが、やはりアプリが必要ですか・・・。

その他の回答 (2)

noname#25358
noname#25358
回答No.3

>ディレクトリ表示するのには、相対パス指定では無理だと思ったのですが  CD-ROMに収録されたHTMLからCD-ROM内のディレクトリを表示するなら、特に相対パスが駄目ということはありません。  相対パスが使えないのは、CD-ROM以外の場所にあるHTMLからCD-ROMの中身を呼び出したり、逆にCD-ROM上のHTMLからCD-ROM外のディレクトリを呼ぶときだけです。  CD-ROM内のHTMLからCD-ROM内のディレクトリにアクセスするのであれば、全てのディレクトリに相対パスでアクセスできます。

noname#25358
noname#25358
回答No.1

 今回のケースに限らず、通常、HTMLの自サイト内での移動には相対パスを使うのが一般的なやり方です。(理由は、単にフルパスを書くのが面倒臭いからです)  相対パスではいけないのでしょうか?  あるいは、相対パスでの指定の仕方が分からないのであれば、その旨を補足してください。

naonaomi
質問者

補足

ご回答ありがとうございます。 相対パスの仕方はわかりますが、エクスプローラー立ち上げというか、ディレクトリ表示するのには、相対パス指定では無理だと思ったのですが、何かやり方があるのでしょうか。

関連するQ&A

  • ディレクトリ内一覧表示

    現在PHPにてディレクトリ内の中のディレクトリ一覧を作成しています。 わからないことがあり、ご投稿させていただきました。 imageフォルダの中に 20110101フォルダと20100101フォルダを作成しています。 imageフォルダ内のディレクトリを一覧表示させたいのですが、下記ソースですと、20110101しか表示されません。 おわかりの方がいらっしゃいましたらご教示お願いします。 $path = 'imageフォルダまでの絶対パス'; $dir = scandir($path, 1);//フォルダ内降順指定 if($dir != "." && $dir != "..") { $dirArray = array($dir); foreach($dirArray as $dir => $val) { for($i = 0; $i <= $dir; $i++) { $dirName = count($dirArray); echo $val[$dirName]; } } } closedir($dir); 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPでディレクトリーとそのサブディレクトリー表示

    PHPでディレクトリーとそのサブディレクトリーの中のファイルを表示して、ファイルであればダウンロード用のリンクを付け加えたいと思いますが、ここで嵌ってしまっています。 以下はソースコード(コメントアウトされている部分は試したコード、すべてだめだった) $dir = $_SERVER['DOCUMENT_ROOT'].'/projects/website/uploaded'.'/'.$_GET['user']; function getDirContents($dir) { global $basedir; $path=pathinfo($dir); $path1=$basedir.'/'.basename($dir); //echo $path1; //$path1=basename($dir); if (is_dir($dir)) { //$path1 .= basename($dir); //$path1 .='/'.basename($dir); $dirs = explode('/', $dir); $last_dir = $dirs[count($dirs) - 1]; echo '<strong>'.$last_dir.'</strong>'; if ($dh = opendir($dir)) { echo '<ul>'; while (($file = readdir($dh)) !== false) { if ($file == '.' || $file == '..' || substr($file,0,1)=='.') {} else { echo '<li>'; if (is_dir($dir.'/'.$file)) { $path1 .='/'.basename($file); getDirContents($dir.'/'.$file); } else { //echo $path1; $path2=pathinfo($path1); echo '<a href="'.$basedir.$path1.'/'.$file.'">'.$file.'</a>'; } echo '</li>'; } } echo '</ul>'; closedir($dh); } } return false; } getDirContents($dir); 因みにウェブサイトは、サーバーの/projects/website/にあります。表示したいフォルダはprojects/website/uploaded/にあります。そしてサブフォルだは/projects/website/uploaded/(ユーザ名)/(フォーム番号)/ わかる方がいらっしゃいましたら、ご回答を宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • ディレクトリ構造の表示

    任意のディレクトリ構造を分析してその構造(ファイル名をkey)をXMLなりハッシュに吐き出すことができるモジュールなり方法を模索しています。 XMLでいうXML::Simpleみたいなものです。 参考------------------------------------------------------ 【XML分析:XML::Simple】→【ハッシュ:Data::Dumper】 【XML分析:XML::Simple】→【XMLファイル:XML::Simple】 ---------------------------------------------------------- グーグルなどで検索してみた限りでは、任意のディレクトリ内分析をしてくれてXMLなりハッシュに吐き出してくれるモジュールはなさそう。 そこでFile::Pathを使ってディレクトリ内を洗ってその構造を動的にハッシュにしたいと考えいます。しかし残念なことに予め構造がわかっている規則的なデータを動的にハッシュにすることはできるのですが、実際に分析するまでその階層すらわからない不規則なツリー状のデータ構造を動的にハッシュ化するプログラミング能力を持ち合わせていません。 そこで質問しかないということになりました。ぜひお知恵をお借りしたいと思っています。よろしくお願いいたします。 本当に簡単ですがこのような不規則なディレクトリ構造を動的にハッシュにしたいと思っています。この例ではディレクトリ構造がわかってますが、分析するまでわからないものとしてみて頂ければと思います。 test1(dir)―――――test2(dir)――――――――data1.txt(file)            |           |            ―data1.txt(file)   ―data2.txt(file)            |            ―data2.txt(file) $test1 = {       'test2' => {            'data1' =>                          {                       'path' => 'test1/data.txt',                       'parent_dir' => 'test2'                         },            'data2' =>                          {                       'path' => 'test2/data.txt',                       'parent_dir' => 'test2'                         },                 },       'data1' =>                     {                  'path' => 'test1/data.txt',                  'parent_dir' => 'test1'                    },       'data2' =>                     {                  'path' => 'test2/data.txt',                  'parent_dir' => 'test1'                    }     };

    • ベストアンサー
    • Perl
  • 仮想ディレクトリと通常ディレクトリの違い。

    お願いします。教えてください。 <質問内容> 仮想ディレクトリと通常ディレクトリの違いは? 1.仮想ディレクトリは他のディレクトリとリンク?が出来る。 2.通常はただのフォルダ。 その他に仮想ディレクトリの利点ってあるのでしょうか? いまいち仮想ディレクトリの利用方法が明確になっていないので・・・

  • ディレクトリツリーの表示

    Perlでtreeコマンドのような指定したディレクトリ以下の ディレクトリツリーを表示(取得)するモジュールなどはないでしょうか。 CPANから探してみたのですが英語の上に実行サンプルが載って いなかったりと該当するものかどうかの判断ができません。 名前や説明から該当しそうな(?)Perlモジュール ・Dir::Which ・File::CheckTree ・File:Find ・File::Path ・File::Searcher ・Tree::File など 因みに、環境非依存にしたいのでexecやバッククオートを使用したりは できません。

    • ベストアンサー
    • Perl
  • ユーザディレクトリのパス指定

    C++でユーザディレクトリ下のファイルを操作したいと思い http://hkpr.info/vc/UserDirectory/ のページを参考にプログラムに適用しました。 その結果、該当フォルダのパスがString型の変数に入ることは確認しました。 しかし、そのフォルダからさらに、下のフォルダ内のファイルを指定しようと そのString型の変数の後ろに「+=」を用いて、さらにパスを連結をしようとしたのですが、 うまく連結できませんでした。 例) 上記リンク先のサンプルで得たパス+=追加のパス; →連結されず、サンプルで得たパスのまま 追加のパス+=上記リンク先のサンプルで得たパス; →連結される。しかし、パスの順序が逆なのでパスとしては意味をなさない 上記リンク先のサンプルを利用しつつ、追加パスの連結を実現するにはどうすればいいのでしょうか? もしくは、ユーザディレクトリの取得としてもっといい方法があるのでしょうか? 補足ですが 「アプリケーションデータのディレクトリ」を利用したいと考えています

  • DIRECTORY_SEPARATORについて

    PHP5.2.4、OSはwindowsXP、xamppの環境で試しています。 次のようにパスの区切りをDIRECTORY_SEPARATORで指定して、要素を分割して取得したいのですが、 これだと分割できません。 $str = 'C:\dir\file.php'; $tips = split('/'.DIRECTORY_SEPARATOR.'/', $str); //$tips = split('\\', $str); print_r($tips);//Array ( [0] => C:\dir\file.php ) '\\'だと 「Warning: split() [function.split]: REG_EESCAPE」 というエラーがでます。 どのように記述すれば良いのでしょうか?

    • ベストアンサー
    • PHP
  • 絶対パス・相対パス・ディレクトリ・について

    HTMLでホームページを作ろうとしている初心者です、教えてください 自分のホームページのフォルダの中ににリンクするパスの指定方法を相対パスというのはわかりましたが、画像を表示するためのパスの指定方法も相対パスでいいのでしょうか、それともディレクトリというんでしょうか?

  • Apacheでドライブをディレクトリとして指定方法

    Apacheでドライブをディレクトリとして指定方法 Apacheでドライブをディレクトリとして指定したいのですがうまくいきませんご指導をお願いします。 イントラネットをXAMPP WindowsVersion 1.7.1で作成しています。 Apache/2.2.11 (Win32) でhttpd.confに以下の指定をしています。 DocumentRoot "C:/xampp/htdocs" Alias /a/ "d:/" <Directory "d:/"> #Options Indexes FollowSymlinks MultiViews Options All AllowOverride None Order allow,deny Allow from all </Directory> この設定でDドライブがhttp://127.0.0.1/a/と指定でき、 <a href='http://127.0.0.1/a/a.jpg'>a.jpg</a>とHTMLでリンクをすれば表示されると思うのですが表示されません。 ブラウザ(IE8)でステータスバー内にhttp://127.0.0.1/a/と入力してエンターを押すとディレクトリ内は表示されるのですがどうしてでしょうか? すいません。ヒントでもいいので教えてください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • ディレクトリの指定が上手くいかない

    http://ponk.jp/old/php_file/index.php?page=6 で紹介されているスクリプトをコピーし、 $dir = opendir("./"); の部分を $dir = opendir("../tmpl/"); に置き換えたのですが、ファイルが存在しているはずなのに選択メニューにファイル名が表示されません。 試しにカレントディレクトリを指定してみましたが、問題なく表示されました。 [tmpl]までのパスは合ってます。 考えられる原因を教えてください。 長文乱文失礼しました。

    • ベストアンサー
    • PHP

専門家に質問してみよう