-2

フォルダーからファイルのリストをエコーし​​、ページにランダムに表示する php スクリプトがあります。

現時点では、たとえば次のようなファイルの URL が表示されます: what-c​​an-cause-tooth-decay.php

ページタイトルを表示させたいのですが<title>What can cause tooth decay</title>

現在のコード:

<?php 

if ($handle = opendir('health')) {
    $fileTab = array();
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $fileTab[] = $file; 
        }
    }
    closedir($handle);
    shuffle($fileTab);
    foreach($fileTab as $file) {
        $thelist .= '<p><a href="../health/'.$file.'">'.$file.'</a></p>';
    }
}
?>
<?=$thelist?>

どうもありがとう

4

1 に答える 1

0

考えられるアプローチがいくつかあります。

  • ファイルを解析できます。の結果に対して正規表現を実行することで可能になるはずですfile_get_contents
  • ファイル名をタイトルにマップするテキスト ファイルをどこかに配置します。それをメモリにロードし、それを使用して、ファイル名のマップに使用できる配列を設定します。file_name.html Titleそれを各行に置くか、そのようなものにしましょう。
  • 命名規則を使用して、ファイル名からタイトルを推測できるようにします。「最初の文字を大文字にし、「_」をスペースに変える」のようなもの

2 番目と 3 番目のアプローチのtitle欠点: ファイル内の実際の要素と一貫性を保つ必要があります。最初のアプローチの問題: すべてのファイルをメモリに読み込む必要があります。多くの/大きなファイルではパフォーマンスの問題になる可能性があります。これを解決するには、すべてのファイルを調べてルックアップ テキスト ファイルを生成するスクリプトを作成することを想像できます。ファイルのタイトルを変更したり、ファイルを追加/削除したりするたびに、そのスクリプトを再実行するだけで済みます。

于 2013-01-15T21:48:02.877 に答える