PHP recursive dizin listesi - dizinleri SADECE

0 Cevap php

Ben bir dosya yöneticisi proje üzerinde çalışıyorum ve ben sadece dizinleri olsun bir ardışık dizin listesini yapıyor etrafında başımı almak için görünmüyor olabilir. Her şeyi denedim boş alt-dizinleri devre dışı bırakıyor ya da benim jQuery ağaca getiri yapısı ayrıştırmak çalıştığınızda çalışmaz ya.

Ben bir dizi kullanarak denedim, ve özyinelemeli Yineleyicilerde şey ama bugüne kadar benim için çalışmak var.

** Update **

Ben aşağı kodumu whittled ettik herkesin girişi sayesinde:

class image_management {

private $_user_id;
private $_user_name;
private $_user_path;    

/**
* Constructor
*/
function __construct($user_id, $user_name) {

  $this->_user_id = $user_id;
  $this->_user_name = $user_name;
  $this->_user_path = ORDER_ROOT.$this->_user_id;
}    

/**
* Cleanup the class and close connections
* 
*/
function __destruct() {
}

/**
* Get Image Folders
* Returns an HTML list of the folders under a users
* directory.
*  
* @param hash $user_id -user id hash
* @param string $user_name - users email address
* @return string - html list
*/
public function getHTMLTree() {

  $html = "<li><a href='#'>";
  $html .= $this->_user_name . "</a><ul>";

  $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->_user_path), RecursiveIteratorIterator::SELF_FIRST);
  foreach($objects as $file) {
    if($file->isDir() ) {
      $item = substr($file->getPathname(),strlen($this->_user_path));
      echo $item;
    }
  }
  return $html;
}

}

Bu bana çıktıyı verir:

/home/printshi/public_html/test/orders/88a0a01afd3728af8f6710ed874267f3
/Aggie_Stuff
/Misc
/Misc/Christmas
/Misc/Christmas/santa
/Misc/Christmas/frosty
/Misc/test1
/Geek_Stuff

bana daha yakın oluyor ki, benim sorun şimdi ne yapmam gerekiyor ben gibi bir çıktı almak böylece HTML tüm bu unsurları sarmak olmasıdır:

<ul>
<li>Aggie_Stuff</li>
<li>Misc<ul>
    <li>Christmas<ul>
        <li>santa</li>
        <li>frosty</li>
        </ul>
    </li>
    <li>test1</li>
    </ul>
<li>Geek_Stuff</li>

Anlıyorum yineleme kısmı, sadece ben denemek ne kadar zor olursa olsun etrafında başımı almak gibi olamaz HTML yapmak için gidiyor.

0 Cevap