繁体   English   中英

如何对使用PHP opendir()构建的文件列表进行排序并隐藏扩展名?

[英]How to sort a list of files build up with PHP opendir() and hide extensions?

由于我只得到了PHP现象的很小一部分,因此我很高兴能够通过搜索网络来创建以下脚本。 如您所见,这显示了我正在构建的网站上“ archive”文件夹中的文件。 是给我学校的报纸的。 旧论文将被上传到该文件夹​​。 问题在于此刻的订单非常混乱。 我知道PHP可以使用sort()对事物进行排序,但是在这种情况下我不确定如何做到这一点。 谁能解释一下如何解决它?

另一件事是隐藏扩展。 我还找不到它,那有可能吗?

如果您至少可以在第一件事上帮助我,那么您将是一个很大的帮助:)

<?php
    if ($handle = opendir(archive)) {
        $ignore_files = array('.', '..', '.htaccess', '.htpasswd', 'index.php');
        while (false !== ($file = readdir($handle)))
        {
            if (!in_array($file, $ignore_files))
            {
                $thelist .= '<a href="/archive/'.$file.'">'.$file.'</a>'.'<br>';
            }
        }
        closedir($handle);
    }
?>
<p><?=$thelist?></p>

如果要从目录中获取文件列表(然后对该列表进行排序),同时还要剥离扩展名,则可以执行以下操作:

<?php
// $archive variabe assumed to point to '/archive' folder
$ignore_files = array('.', '..', '.htaccess', '.htpasswd', 'index.php');

// into array $files1 will be every file inside $archive:
$files1 = scandir($archive);
sort($files1);

foreach ($files1 as $file) {
    if (!in_array($file, $ignore_files)) {
        $fileParts = pathinfo($file);
        $thelist .= '<a href="/archive/'.$file.'">'.$fileParts['filename'].'</a>'.'<br>';
    }
}
?>
<p><?=$thelist?></p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM