这个php代码使用opendir()来显示文件夹中的文件数组。
问题: 这段代码按原样运行,但我想要做的是显示文件的描述。
我在代码中为网址添加了$ description:
$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';
显示
文件名
$描述
文件-name.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?>
答案 0 :(得分:0)
正如qeremy所说,$描述在哪里?即使$ description在其他地方被赋值,它也永远不会显示为变量内容,因为您将字符串包含在单引号''
中。如果您希望PHP将变量解析为变量值(而不是变量名称作为字符串),则需要使用双引号""
,或者断开字符串并包含varibale名称,例如:
$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>'.$description.'</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';
答案 1 :(得分:0)
OK!
如我所见,您希望在循环中显示项目并使用标题和描述有序地编写它们。此时,我认为您需要一个集成到数据库的适当系统。
只需;
// 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);
}