[PHP] 폴더/디렉터리 함수 (1) - mkdir(), is_dir(), rmdir()

2020. 3. 20. 17:41· Backend/php

 

mkdir() - 폴더/디렉터리 생성 함수

이 함수를 이용해서 지정된 경로에 폴더를 생성할 수 있다.

구성 Make Directory
mkdir(경로와 디렉터리 이름, '퍼미션(권한) 설정값')

 

퍼미션(권한) 설정값은 3자리의 숫자로 구성된다.

첫째자리 둘째자리 셋째자리
소유자 권한 그룹 권한 사용자 권한
= 파일을 생성하는 사람 = 소유자가 속한 그룹 (그룹원의 권한) = 이 폴더를 사용하는 사람 (보통 유저)

 

각 권한은 읽기, 쓰기, 실행으로 구성된다.

읽기(read) 쓰기(write) 실행(execute)
4 2 1

읽기 권한을 적용하려면 4를 입력, 쓰기 권한을 적용하려면 2 등 각 권한에 맞는 수를 합하여 입력하면 된다.

예를 들어, 읽기/쓰기/실행 권한을 적용하려면 4+2+1인 7을 입력한다.

 

소유자, 그룹, 사용자 권한에게 모든 권한을 허용한다면 퍼미션 설정값을 '777'로 입력한다.

 

 

다음 코드를 이용하여 현재 폴더에 newFolder 라는 새로운 폴더를 생성해보자.

<?php 
    $folderName = 'newFolder';
    $makeDir = mkdir($folderName, '777');
    
    if($makeDir) echo "{$folderName} 폴더 생성 완료";
    else echo "{$folderName} 폴더 생성 실패";
?>

 

Result

newFolder 폴더 생성 완료

newFolder 폴더가 생성된 것을 확인할 수 있다.

 

 

 


 

 

 

다시 한 번 코드를 실행하게 되면 아래와 같은 실행 결과를 확인할 수 있다.

 

Result

Warning : mkdir(): File exists in C:\xampp\htdocs\php\01_echo.php on line 3

newFolder 폴더 생성 실패

File exists : 파일이 이미 존재합니다.

 

 

 


 

 

is_dir() : 폴더 존재 유무를 확인하는 함수

이렇듯 이미 존재하는 폴더를 재생성하면 에러가 나기 때문에 미리 폴더의 존재 유무를 확인하는 함수를 걸어준다.

 

구성
is_dir(폴더명);

 

폴더가 존재하면 true 를, 존재하지 않으면 false 를 리턴한다.

<?php 
    $folderName = 'newFolder';
    $checkDir = is_dir($folderName);
    
    if($checkDir) echo "해당 폴더가 존재합니다.";
    else echo "해당 폴더가 존재하지 않습니다.";
?>

 

 

Result

해당 폴더가 존재합니다.

 

어떠한 경우에 폴더가 존재하지 않다면 mkdir() 함수를 이용하여 새 폴더를 만드는 식으로 활용하면 좋을 것 같다.

 

 

 


 

 

rmdir() : 폴더를 삭제해주는 함수
구성
rmdir('삭제할 폴더명');

 

방금 생성한 폴더를 이 함수를 이용하여 지워볼 것이다.

 

<?php 
    $folderName = 'newFolder';
    rmdir($folderName);
    
    if(is_dir($folderName)) echo "해당 폴더가 존재합니다.";
    else echo "해당 폴더가 존재하지 않습니다.";
?>

 

Result

해당 폴더가 존재하지 않습니다.
728x90
저작자표시 (새창열림)

'Backend > php' 카테고리의 다른 글

[PHP] 파일 함수 (1) - fopen(), fclose(), fwrite()  (0) 2020.03.22
[PHP] 폴더/디렉터리 함수 (2) - opendir(), readdir(), closedir(), rmdir()  (0) 2020.03.20
[PHP] filter_var() 유효성 검사 함수 - 이메일, URL, IP  (0) 2020.03.20
[PHP] 정규표현식 preg_match() (3) - 휴대전화, 이메일 유효성 검사  (0) 2020.03.12
[PHP] 정규표현식 preg_match() (2) - 영문/숫자 검사 패턴  (0) 2020.03.12
'Backend/php' 카테고리의 다른 글
  • [PHP] 파일 함수 (1) - fopen(), fclose(), fwrite()
  • [PHP] 폴더/디렉터리 함수 (2) - opendir(), readdir(), closedir(), rmdir()
  • [PHP] filter_var() 유효성 검사 함수 - 이메일, URL, IP
  • [PHP] 정규표현식 preg_match() (3) - 휴대전화, 이메일 유효성 검사
민57
민57
IT 개발 및 노션 관련 이것저것
youngdevIT 개발 및 노션 관련 이것저것
민57
youngdev
민57
전체
오늘
어제
  • 분류 전체보기 (105)
    • Dev logs (6)
    • Frontend (4)
      • javascript (19)
      • typescript (0)
      • html & css (4)
      • vuejs & reactjs (3)
      • programmers (1)
      • jsp (1)
    • Backend (38)
      • express (1)
      • php (27)
      • git & linux (7)
      • unity (3)
    • 개발 지식 (22)
      • computer science (3)
      • errors (4)
      • tool (8)
      • util (7)
    • Notion (3)
      • template (1)
      • widget (2)
    • 취미 (2)
      • github (1)
      • game (1)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 오블완
  • JS
  • 노션위젯
  • PHP함수
  • 토이프로젝트
  • vuejs
  • 맥북필수프로그램
  • 리액트
  • javascript
  • 리액트기본
  • 리액트입문
  • 리렌더링
  • 자바스크립트모듈
  • php기초
  • javascript-archive
  • vue
  • 동적선택기
  • react
  • 노션
  • 웹사이트모음
  • PHP
  • IntelliJ
  • miny위젯
  • vue 토이프로젝트
  • 자바스크립트콘솔
  • 티스토리챌린지
  • sql문제
  • 맥북포맷
  • 자바스크립트
  • notion

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
민57
[PHP] 폴더/디렉터리 함수 (1) - mkdir(), is_dir(), rmdir()
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.