Ben bir dizin klasörleri listeleyen bir dizi var. Şimdiye kadar, ben klasör adlarını hardcoding oldum, ama bunu yapmak yerine, ben kolayca dizini ayrıştırmak için bir komut dosyası oluşturmak ve sadece dizi her klasör adını atayın düşündüm. Bu şekilde, kolayca klasör eklemek ve tekrar komut dokunmak zorunda değil ...
Konu dizisi her klasör listeleyen bir seçenekler listesi açılan menüyü oluşturur ...
Şu anda, dizi şöyle kodlanmış ...
"Seçenekler" => array ("klasör iki" => "klasörü2" => "Folder1'ı" "bir klasör")),
Ama verilen dizinde bulduğu herşeyi klasörleri dayalı dinamik yapmaya çalışıyorum.
İşte dizini ayrıştırmak ve diziye foldernames dönmek için kullanıyorum senaryo. Bu çalışıyor.
function getDirectory( $path = '.', $level = 0 )
{
// Directories to ignore when listing output.
$ignore = array( '.', '..' );
// Open the directory to the handle $dh
$dh = @opendir( $path );
// Loop through the directory
while( false !== ( $file = readdir( $dh ) ) )
{
// Check that this file is not to be ignored
if( !in_array( $file, $ignore ) )
{
// Show directories only
if(is_dir( "$path/$file" ) )
{
// Re-call this same function but on a new directory.
// this is what makes function recursive.
//echo $file." => ".$file. ", ";
// need to return the folders in the form expected by the array. Probably could just add the items directly to the array?
$mydir2=$mydir2.'"'.$file.'" => "'.$file. '", ';
getDirectory( "$path/$file", ($level+1) );
}
}
}
return $mydir2;
// Close the directory handle
closedir( $dh );
}
Ve burada diziye bu klasörleri almak benim ilk almak bulunuyor ...
$mydir = getDirectory('/images/');
"options" => array($mydir)),
Ama belli ki, bu onun doğru ben sadece benim seçenekler listesindeki bir dize almak dizi besleme değil beri ... Ben bu Kaçırdığım kolay bir dönüşüm adımdır eminim düzgün çalışmıyor ...