본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP mkdir — 폴더 생성 완전 정리

by 왕진 2026. 6. 16.
반응형

 

 

Web Development · PHP mkdir

PHP mkdir —
새 폴더(디렉토리) 만들기

is_dir로 존재 검사 후 mkdir로 생성
시작 오늘 분석할 코드
<?php $dirname = "temp"; if(!is_dir($dirname) && mkdir($dirname)){ print $dirname."를 만들었습니다."; }else{ print $dirname."는 만들 수 없습니다."; } ?>

"이미 있지 않을 때만 만든다"는 안전 패턴. !is_dir로 존재 안 함을 확인하고 mkdir 시도.

용어 용어 정리
mkdir()make directory — 폴더 생성
is_dir()디렉토리 존재 여부
반환값true (성공) / false (실패)
두 번째 인자권한 (예: 0755) — 기본 0777
세 번째 인자true 면 중첩 폴더도 한 번에 생성
반대rmdir — 폴더 삭제
권한 필요상위 디렉토리 쓰기 권한
실무업로드 폴더 자동 생성

1 매개변수
mkdir($경로); // 기본 — 권한 0777 mkdir($경로, 0755); // 권한 명시 mkdir($경로, 0755, true); // 부모 폴더도 자동 생성 (재귀)

2 재귀 생성 — 세 번째 인자 true
// 한 번에 여러 단계 생성 mkdir("uploads/2026/05/03", 0755, true); // uploads, 2026, 05, 03 폴더가 차례로 생성됨

없으면 부모 폴더부터 차례로 만들어준다. 매우 편리한 옵션.


3 권한 (mode)
권한 의미
0777 모두 읽기·쓰기·실행 (기본 — 보안↓)
0755 소유자 모두, 그 외 읽기·실행 (권장)
0700 소유자만 가능 (가장 엄격)
※ Windows에서는 권한 모드가 무시된다. 리눅스/유닉스에서만 의미. 또한 PHP 프로세스의 umask가 적용되므로 실제 권한은 다를 수 있다.

 

반응형

 

4 자주 하는 실수
· 권한 없는 디렉토리에 mkdir → false
· 이미 있는 폴더에 또 mkdir → 경고 + false
· 깊은 경로를 한 번에 만드려 함 → true 옵션 안 줘서 실패
· 사용자 입력을 그대로 폴더명으로 → 보안 위험

핵심 한 줄 요약

mkdir()새 폴더(디렉토리) 생성
is_dir과 짝중복 생성 시도 방지
반환true/false
권한기본 0777, 보통 0755 권장
재귀3번째 인자 true → 부모도 함께
윈도우권한 모드 무시
반대rmdir — 폴더 삭제
반응형

댓글