0

この PHP コードは、opendir() を使用してフォルダー内のファイルの配列を表示します。

質問: このコードはそのまま機能しますが、ファイルの説明も表示したいと考えています。

コードの URL に $description を追加しました。

$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';

表示する

ファイル名

$説明

ファイル名.php

問題:関数を呼び出して説明を取得する方法がわかりません。

<?php 

if ($handle = opendir('../folder/')) {
    $fileTab = array();
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != 'index.php') {
            $fileTab[] = $file;
        }
    }
    closedir($handle);
    shuffle($fileTab);
    foreach($fileTab as $file) {
        $title = str_replace('-', ' ', pathinfo($file, PATHINFO_FILENAME));
        $result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';
    }
}
?>
<?=$result?>
4

2 に答える 2

0

わかった!

ご覧のとおり、アイテムをループで表示し、タイトルと説明で順番に記述します。この時点で、データベースに統合された適切なシステムが必要だと思います。

単に;

// table: items
id | title     | description
-----------------------------------
1  | Headaches | Lorem ipsum dolor... 

それがあなたに合わない場合は、そうすることができます(しかし、これは便利ではありません!)、次のようなフォルダーディレクトリの.txtファイルにデータを保存できます。

// folder/headaches.txt
Headaches|||What can you do to stay healthy, your...

// php
$files = glob("folder/*.txt");
foreach ($files as $file) {
    $info = pathinfo($file);
    $filename = $info['filename'];
    $contents = file_get_contents('descriptions/'. $filename .'.txt');
    list($title, $description) = explode('|||', $contents, 2);
    $result .= sprintf('<h6><a href="../folder/%s">%s</a></h6><p>%s</p><p><a href="../folder/%s">%s</a></p>',
                            $filename, $title, $description, $filename, $filename);
}
于 2013-01-21T00:33:36.547 に答える
0

qeremy が言うように、$description はどこに定義されていますか? $description に別の場所で値が割り当てられていても、文字列を一重引用符で囲んでいるため、変数の内容として表示されることはありません''。PHP で変数を (文字列としての変数名ではなく) 変数値として解析する場合は、二重引用符を使用するか""、文字列を分割して変数名を含める必要があります。たとえば、次のようにします。

$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>'.$description.'</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';
于 2013-01-20T23:59:25.113 に答える