1

mod_autoindex を変更して、画像タイプ (jpg、png など) またはオーディオ (mp3、ogg) のファイルが常にこれらの小さな埋め込みウィンドウの 1 つを開いて画像を表示するか、フラッシュまたは HTML5 ベースを使用するようにする方法はありますか?ファイルを再生するオーディオ プレーヤー。このモジュールにはカスタマイズのための多くのオプションがあることは知っていますが、ファイル リストの生成に使用するコードがわかりません。

4

1 に答える 1

2

簡潔な答え

はい、これを行うにはいくつかの方法があります。どちらが適切かは、個人のニーズとスキルセットによって異なります。オプションは、C ソース コードを編集して独自の Apache モジュールを作成するか、クライアント側またはサーバー側のスクリプトをインデックス ファイルのヘッダーとして使用する (またはそこから含める) ことを宣言して追加機能を追加することです。

長い答え

ソースコードを編集する

リストを実際に変更する唯一の方法は、これも最も困難なオプションですが、ソース コードを編集して独自の Apache モジュールをコンパイルすることです。各ファイルの HTML コードは、mod_autoindex.c ファイルの 1852 行にまとめられています。C を知らない場合、またはコードが難しすぎると思われる場合は、リストを直接変更する方法はありません。

ただし、 (サーバー側またはクライアント側のいずれかで) 機能をインデックス ヘッダーまたはフッター ファイルに追加することにより、リストを間接的に変更することができます。

これにより、より簡単なオプションが得られます。

サーバー側の機能を追加する

リストを変更することはできませんが、閲覧しているディレクトリをスキャンし、特定のファイルのサムネイル/プレビューを追加するサーバー側スクリプトを使用することで、追加を行うことができます。CSS を使用して元のリストを完全に非表示にし、サーバー サイド スクリプトで独自のカスタム リストを作成することもできます。

もちろん、Python/Perl/Ruby/PHP などをプログラミングできる必要があります。これをする。

少し前に (主に演習として) Apache Directory List Theming projectで PHP を試してみました。指定されたディレクトリ内のすべての画像と PDF ファイルのサムネイルのリストを表示する以外には何もしません。(これもあまり洗練されていません)。

オーディオおよび/またはビデオ ファイルのプレビューも追加したい場合、およびこれらのプレビューをApache によって生成さたリストに表示したい場合は、おそらくクライアント側のソリューションを使用することをお勧めします。

クライアント側の機能を追加する

JavaScript 機能を追加することで、リストを解析し、関心のある各ファイルのプレビューをリストに挿入できます。prettyAutoIndexプロジェクトがこれを行います私は個人的には使用していませんが、見た目はきれいです :-) 積極的に開発されているようには見えませんが、機能する場合は必ずしもそうである必要はありません。

それがあなたが望むものではなく、Javascript でコーディングできるのであれば、自分で何かを作成することはそれほど難しくないはずです。

まとめ

サーバーまたはクライアント側のソリューションを作成することにした場合、いくつかの機能を備えたファイルを作成し、Apache Config から次のように呼び出すよりもそれほど複雑ではありませんheadername

<IfModule mod_autoindex.c>
    HeaderName /path/to/header.file
</IfModule>

残念ながら、落とし穴がいくつかあるので、時間を取ってmod_autoindex manualの関連部分を読むことをお勧めします。

于 2013-10-02T12:59:32.787 に答える