728x90

산출물 작석시 파일명세서는 폴더내에 파일명을 모두 출력하고 메모를 해야 해서 php 코드로 파일명을 모두 출력하게 하면 조금 더 작성하기가 편해진다. root 기준의 폴더명을 적어 주고 해당 디렉토리에 아래 파일을 올리면 파일 리스트를 모두 출력 받을 수 있다. 

<?php
// 제외할 폴더와 경로를 배열로 정의합니다.
$excludedPaths = array(
    '/upload',
    '/plugin',
    '/assets/front/img',
    '/assets/front/fonts',
    '/assets/front/scss'
);

// 디렉토리 경로를 절대 경로로 설정합니다.
$directory = realpath('foldername');

// 디렉토리 내의 파일 및 폴더 목록을 가져옵니다.
listDirectoryContents($directory, $excludedPaths);

// 재귀적으로 디렉토리 내의 파일 및 폴더 목록을 출력하는 함수
function listDirectoryContents($dir, $excludedPaths) {
    $files = scandir($dir);
    foreach ($files as $file) {
        // 현재 디렉토리(.)와 상위 디렉토리(..)는 제외합니다.
        if ($file != '.' && $file != '..') {
            // 파일 또는 폴더의 전체 경로
            $filePath = $dir . '/' . $file;

            // 제외할 경로에 포함되어 있거나 파일인 경우 스킵합니다.
            if (in_array($filePath, $excludedPaths) || is_file($filePath)) {
                continue;
            }

            // 디렉토리인 경우 디렉토리명을 출력합니다.
            if (is_dir($filePath)) {
                echo $filePath . "<br>";
                // 하위 폴더가 있는 경우 해당 폴더를 탐색합니다.
                listDirectoryContents($filePath, $excludedPaths);
            }
        }
    }
}
?>

 

위 코드를 실행하면 웹페이지에 아래와 같이 하위폴더의 내역까지 모두 출력이 된다. 

foldername/views/front/your/mento.php
foldername/views/front/your/mento_view.php

 

디렉토리 명을 모두 출력하려면 아래와 같이 작성하면 된다.

<?php
// 제외할 폴더와 경로를 배열로 정의합니다.
$excludedPaths = array(
    '/upload',
    '/plugin',
    '/assets/front/img',
    '/assets/front/fonts',
    '/assets/front/scss' 
);

// 디렉토리 경로를 절대 경로로 설정합니다.
$directory = realpath('foldername');

// 디렉토리 내의 파일 및 폴더 목록을 가져옵니다.
listDirectoryContents($directory, $excludedPaths);

// 재귀적으로 디렉토리 내의 파일 및 폴더 목록을 출력하는 함수
function listDirectoryContents($dir, $excludedPaths) {
    $files = scandir($dir);
    foreach ($files as $file) {
        // 현재 디렉토리(.)와 상위 디렉토리(..)는 제외합니다.
        if ($file != '.' && $file != '..') {
            // 파일 또는 폴더의 전체 경로
            $filePath = $dir . '/' . $file;

            // 제외할 경로에 포함되어 있거나 파일인 경우 스킵합니다.
            $skip = false;
            foreach ($excludedPaths as $excludedPath) {
                if (strpos($filePath, $excludedPath) === 0) {
                    $skip = true;
                    break;
                }
            }
            if ($skip || is_file($filePath)) {
                continue;
            }

            // 디렉토리인 경우 디렉토리명을 출력합니다.
            if (is_dir($filePath)) {
                echo $filePath . "<br>";
                // 하위 폴더가 있는 경우 해당 폴더를 탐색합니다.
                listDirectoryContents($filePath, $excludedPaths);
            }
        }
    }
}
?>

 

$directory 를 기준으로 하위에 포함된 디렉토리까지 모두 출력해주니 폴더명으로 정리를 해야 할때 편리하다. 

728x90

+ Recent posts