PHP

디렉토리 제어

현재 디렉토리와 디렉토리의 변경

getcwd는 현재 디렉토리를 통해서 현재 디렉토리를 알 수 있고, chdir을 이용해서 디렉토리를 변경 할 수 있다.

<?php
echo getcwd().'<br />';
chdir('../');
echo getcwd().'<br />';
?>

디렉토리의 탐색

scandir은 디렉토리를 탐색하는 기능이다. 첫번째 인자는 탐색할 디렉토리의 경로이고, 두번째 인자는 정렬 방법이다.

아래 예제는 현재 디렉토리를 탐색하는 방법과 탐색된 결과의 정렬 방법을 바꾸는 법에 대한 예제다.

<?php
$dir    = './';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

디렉토리의 생성

mkdir은 디렉토리를 생성하는 내장함수다. 첫번째 인자로 디렉토리의 이름, 두번째 인자로 디렉토리의 권한을 지정 할 수 있다. 세번째 인자의 값으로 true를 지정하면 첫번째 인자로 주어진 경로가 여러개의 디렉토리로 이루어져 있을 때 해당 디렉토리를 한번에 생성하는 기능을 제공한다.

<?php
mkdir("1/2/3/4", 0700, true);
?>

댓글

댓글 본문
작성자
비밀번호
  1. NamJin Kim
    감사합니다 항상
  2. 신입1
    감사합니다
  3. JustStudy
    고맙습니다
  4. Beluga
    Read 권한 : 4
    Write 권한 : 2
    Execute 권한 : 1

    이렇게 번호기 미리 정해져 있구요
    읽기, 쓰기, 실행 모두 가능한 permission의 경우 4+2+1 = 7 이 주어집니다.
    읽기와 실행만 가능하다면 4+1 = 5 가 주어지겠죠.
    소유자에게 7이 주어졌고
    소유자와 같은 Group멤버에게는 0
    아무것도 아닌 other 에게도 0이 주어졌으니 아무 권한이 없게 되겠네요.

    첫번째 0이 뭔지느 모르겠네요 ^^

    참고로 디렉토리의 경우 (파일과는 다르게) "실행"권한은 "디렉토리 내부로 들어갈 수 있는 권한"을 의미합니다.
    대화보기
    • 노마드
      필기는 오너라고 하시고 말씀을 햇갈리신듯 하네요 ㅋ 아 그리고 저도 궁금한게 있는데, 혹시 7이 이진법 111로 각각 wrx 의 의미인가요? 리눅스 공부하면서 이진법 쓰는걸 어디서 본듯해서요,
      대화보기
      • 노마드
        저도 이제 공부하는 사람이긴 하지만, 리눅스에서는 디렉토리를 슬래쉬(/)로 써야하고, 역슬래쉬는 주로 특수문자앞에 붙여서 특수문자를 그대로 출력해주는 기능인거 같네요, 윈도에서는 원래는 반대로 디렉토리를 역슬래쉬로 썼었는데, 방금 검색해보니, xp 이상에서는 슬래시도 디렉토리에 사용가능하다고 하네요, 정리하면 리눅스는 두개 용도가 다르고, 윈도는 혼용이 가능한거 같습니다
        대화보기
        • 파일명 슬래시(/)랑 백슬래시(\) 상관 없나요?
        • 얼그레이티
          늘 감사합니다^^!!
          그런데 9:10 이부분에서 말씀하신 권한 0700중 7 부분을 group의 사용자에게 모든 권한을 주신다고 하셨는데요
          owner를 잘 못 말씀 하신게 아닌가 싶어 글을 남깁니다.
          혹시 제가 잘 못 알고있는건지... 궁금합니다.
        • 코딩!
          디렉토리 제어!!
        • 육점이
          항상 감사합니다.
        • 별모모
          파일 제어, 디렉토리의 생성을 통해 PHP함수를 어떻게 사용하는지 보았습니다. 절벽과 절벽 사이에, 다리가 한 칸 씩 놓여지는 것 같습니다. 고맙습니다.
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기