채택완료

폴더에 있는 파일 실행하기?

2022-07-05 (화) 12:34:02 2,657

adm메뉴 처럼 일반 메뉴도 같은 로직으로 만들려고 하는데

adm 폴더에 있는 admin.menu.100.php 이런 파일 갯수에 따라 유기적으로

파일의 배열을 읽어오는 거잖아요..

이러한 로직이 돌아가는 소스가 어디 있을까요?

결론적으로는 예를 들어

menu폴더를 만들어서

메뉴가 4개라고 하면

main.menu,100.php

main.menu,200.php

main.menu,300.php

main.menu,400.php

파일로 만들고

서브메뉴가 ㅇㅆ다면 

main.menu,100.php 파일안데 배열로 넣고 싶거든요..

|

답변 1개

채택된 답변
+20 포인트
Copy
<?php 

$path = "./";
$menu = get_menu($path);

for($i=0; $i<count($menu); $i++){
    if($menu[$i]['type'] == "file"){
        echo $menu[$i]['filename'];
        echo "<br>";
    }
    if($menu[$i]['type'] == "dir"){
        $submenu = get_menu($path.$menu[$i]['filename']."/");
        for($j=0; $j<count($submenu); $j++){
            
            echo "ㅏ".$submenu[$j]['filename'];
            echo "<br>";
        }
    }
}
function get_menu($path){
    if(!is_dir($path))
        return;

    $result = "";
    $a = 0;
    $dir = opendir($path);
    if($dir) {
        while(($file = readdir($dir)) !== false) {
            if ($file == "." || $file == "..") {
                continue;
            }

            if(is_file($path.$file)) {
                $result[$a]['type'] = "file";
                $result[$a]['filename'] = $file;
                $a++;
                
            }
            
            if(is_dir($path.$file)) {
                $result[$a]['type']= "dir";
                $result[$a]['filename']= $file;
                $a++;
            }
            
        }
        closedir($dir);
    }
    
    return $result;

}

답변을 작성하려면 로그인이 필요합니다.