php 排序从其中下载的数据库名称[重复]

0md85ypi  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(130)

此问题在此处已有答案

List and Sort Files with PHP DirectoryIterator(2个答案)
DirectoryIterator listing in alphabetical order [duplicate](1个答案)
after using $files = new DirectoryIterator() in PHP, how do you sort the items?(2个答案)
PHP DirectoryIterator with natsort(3个答案)
Sorting files with DirectoryIterator(2个答案)
7天前关闭
我有一个目录,我排序它的子目录的名称。但这些是数字名称(植物标识号)。我想有植物名称显示,而不是他们的ID号。在每个目录中,我有一个包含植物名称的txt文件。我在菜单中显示它旁边的植物ID号。但我想有植物名称(不是ID!!)按升序排序。
带有植物名称的文件具有标题>>“id plant”_info_01c.txt <<
$taxon = ID Plant =植物名称
工厂名称>> $file_info_01c_text <<是一个指向iframe的链接。
我想问一个新手可能修复的最简单的可能的解决方案在沉降物的时代。如果需要一个数据库,它应该只在txt。

<?php

$path = ".";
$dir = new DirectoryIterator($path);
foreach ($dir as $fileinfo) {
    if ($fileinfo->isDir() && !$fileinfo->isDot()) {
        
        $taxon = $fileinfo->getFilename();
        $file_info_01c = $taxon.'/'.$taxon.'_info_01c.txt';
        // wczytanie pliku 'info_01c.txt'
        $file_info_01c_text = file_get_contents($file_info_01c);

        echo $taxon.' &nbsp;  <A href="index-if.php?taxon='.$taxon.'" target="ramka">'.$file_info_01c_text.'</A><br>';
    }
}

?>

字符串

dldeef67

dldeef671#

将数据添加到数组中,并在回显链接之前对其进行排序。

$plants = [];

foreach (new DirectoryIterator(".") as $fileinfo) {
    if ($fileinfo->isDir() && !$fileinfo->isDot()) {
        $taxon = $fileinfo->getFilename();
        $plants[] = [
            'name'  => file_get_contents("{$taxon}/{$taxon}_info_01c.txt"),
            'taxon' => $taxon,
        ];
    }
}

// Sort results by the file text
usort($plants, fn($a, $b) => $a['name'] <=> $b['name']);

// Create the links here instead
foreach ($plants as $plant) {
    $name  = $plant['name'];
    $taxon = $plant['taxon'];
    echo "{$taxon} &nbsp; <a href=\"index-if.php?taxon={$taxon}\" target=\"ramka\">{$name}</a><br>";
}

字符串

相关问题