PHP ayrıştırma dizin ve dosya yolları ve sadece jpg görüntü türleri adları için altdizinler

1 Cevap php

Ben alt-dizinleri bilinmeyen miktarda bir tek bilinen, dizinde bir özyinelemeli "için arama ve ekran görüntüsü" yapmak için bu php kodunu değiştirmek için arıyorum.

Burada bir tek dizin tarar ve html dışarı dosyaları yankıları Ben kodu:

<?php 
    foreach(glob('./img/*.jpg') as $filename)
    {
        echo '<img src="'.$filename.'"><br>';
    }
?>

Temel dizin $base_dir="./img/"; hepsi sadece. Jpg dosya türlerini içerir kendi alt-dizinleri bilinmeyen miktarda ve kademelerin sahip alt-dizinleri içerdiğini göz önüne alındığında.

Temelde alt-dizinleri tüm yolları bir dizi oluşturmak gerekir.

1 Cevap

Bir süre önce bir dizin hiyerarşisi geçiş için bu işlevi yazdı. Bu Verilen klasörde bulunan tüm dosya dönüş yolları (ama yolları klasör değil) olacaktır. Kolayca ismi. Jpg biter yalnızca dosyaları geri dönmek için değiştirmek gerekir.

function traverse_hierarchy($path)
{
    $return_array = array();
    $dir = opendir($path);
    while(($file = readdir($dir)) !== false)
    {
        if($file[0] == '.') continue;
        $fullpath = $path . '/' . $file;
        if(is_dir($fullpath))
            $return_array = array_merge($return_array, traverse_hierarchy($fullpath));
        else // your if goes here: if(substr($file, -3) == "jpg") or something like that
            $return_array[] = $fullpath;
    }
    return $return_array;
}