首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php从opendir获取描述

php从opendir获取描述
EN

Stack Overflow用户
提问于 2013-01-20 23:51:56
回答 2查看 278关注 0票数 0

这个php代码使用opendir()来显示文件夹中的文件数组。

问题:这段代码可以正常工作,但我想要做的是显示文件的描述。

我在代码中将$description添加到url中:

代码语言:javascript
复制
$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';

显示

文件名

$description

文件-name.php

问题:我不知道如何调用函数来获得描述。

代码语言:javascript
复制
<?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?>
EN

回答 2

Stack Overflow用户

发布于 2013-01-20 23:59:25

正如柯勒密所说,$description的定义在哪里?即使在其他地方为$description分配了一个值,它也永远不会显示为变量内容,因为您正在单引号''中封装字符串。如果要PHP将变量解析为变量值(而不是变量名作为字符串),则需要使用双引号"",或者拆分该字符串并包含变量名,例如:

代码语言:javascript
复制
$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>'.$description.'</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>';
票数 0
EN

Stack Overflow用户

发布于 2013-01-21 00:33:36

好的!

正如我所看到的,您希望在一个循环中显示项目,并用标题和描述有序地写入它们。此时,我认为您需要一个集成到数据库中的适当系统。

简单地说;

代码语言:javascript
复制
// table: items
id | title     | description
-----------------------------------
1  | Headaches | Lorem ipsum dolor... 

如果这不适合您,那么您可以这样做(但这并不方便!),您可以将您的数据保存在文件夹目录中的.txt文件中;

代码语言:javascript
复制
// 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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14430734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档