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
'PHP' 카테고리의 다른 글
php 단방향 암호화 예제 (0) | 2024.07.09 |
---|---|
tcpdf html 코드 pdf 로 다운로드 하는 방법 php 버전 (0) | 2024.03.27 |
spl_autoload_register 함수 (0) | 2024.03.18 |
PHP Numeric and String Conversion with Decimal Precision (0) | 2024.03.15 |
php 암호화 복호화 가능한 AES (0) | 2024.03.14 |