Rumah  >  Soal Jawab  >  teks badan

Senaraikan semua folder subfolder dan fail dalam direktori menggunakan php

<p>Sila berikan saya penyelesaian untuk menyenaraikan semua folder, subfolder, fail dalam direktori menggunakan php. Struktur folder saya adalah seperti ini: </p> <pre class="brush:php;toolbar:false;">Dir Dir1 SubDir1 Fail1 Fail2 SubDir2 Fail3 Fail4 Dir2 SubDir3 Fail5 Fail6 SubDir4 Fail7 Fail8</pra> <p>Saya ingin mendapatkan senarai semua fail dalam setiap folder. </p> <p><strong>Adakah terdapat arahan skrip shell dalam php? </strong></p>
P粉891237912P粉891237912389 hari yang lalu471

membalas semua(2)saya akan balas

  • P粉738346380

    P粉7383463802023-08-28 10:34:42

    Cara yang sangat mudah untuk memaparkan struktur folder ialah menggunakan kelas RecursiveTreeIterator (PHP 5 >= 5.3.0, PHP 7) dan menjana pepohon grafik ASCII.

    $it = new RecursiveTreeIterator(new RecursiveDirectoryIterator("/path/to/dir", RecursiveDirectoryIterator::SKIP_DOTS));
    foreach($it as $path) {
      echo $path."<br>";
    }

    http://php.net/manual/en/class.recursivetreeiterator.php< /a>

    Dengan menggunakan RecursiveTreeIterator::setPrefixPart 更改前缀,还可以对树的 ASCII 表示进行一些控制,例如 $it->setPrefixPart(RecursiveTreeIterator::PREFIX_LEFT, "| ");

    balas
    0
  • P粉482108310

    P粉4821083102023-08-28 00:51:33

    function listFolderFiles($dir){
        $ffs = scandir($dir);
    
        unset($ffs[array_search('.', $ffs, true)]);
        unset($ffs[array_search('..', $ffs, true)]);
    
        // prevent empty ordered elements
        if (count($ffs) < 1)
            return;
    
        echo '<ol>';
        foreach($ffs as $ff){
            echo '<li>'.$ff;
            if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
            echo '</li>';
        }
        echo '</ol>';
    }
    
    listFolderFiles('Main Dir');
    

    balas
    0
  • Batalbalas