[PHP] 폴더/디렉터리 함수 (1) - mkdir(), is_dir(), rmdir()
opendir() : 폴더를 열어주는 함수
구성 |
opendir('폴더명'); |
폴더 안의 파일의 목록을 불러오려면 해당 폴더를 여는 작업이 필요하다.
성공하면 true를, 실패하면 false를 반환한다.
<?php
$folderName = 'newFolder';
if(opendir($folderName)) echo "해당 폴더를 여는 데 성공했습니다.";
else echo "해당 폴더를 여는 데 실패했습니다.";
?>
Result
해당 폴더를 여는 데 성공했습니다.
Result : 존재하지 않는 폴더를 열었을 때
Warning : opendir(new): failed to open dir: No such file or directory in C:\xampp\htdocs\php\01_echo.php on line 4
해당 폴더를 여는 데 실패했습니다.
failed to open dir: No such file or directory : 폴더 오픈 실패: 없는 파일 또는 폴더입니다.
readdir() : 폴더의 내용을 읽을 수 있는 함수
폴더를 읽기 위해서는 우선 폴더를 읽어야 한다.
구성 |
readdir(opendir('폴더명')); |
현재 폴더의 내용을 불러 오려면 폴더명을 ./로 하면 된다.
readdir() 함수는 폴더 내의 내용을 호출할 때마다 하나씩 반환하기 때문에 반복문을 사용하여 폴더의 내용을 불러와야 한다.
<?php
$folderName = 'newFolder';
// 디렉터리가 있는지 확인
if (is_dir($folderName)) {
echo "폴더가 존재합니다. <br>";
// 디렉터리 열기
$open = opendir($folderName);
if($open) {
echo "폴더를 열었습니다. <br>";
// 반복문을 통하여 폴더 내용 읽어오기
while(($read = readdir($open))) {
echo $read."<br>";
}
} else echo "폴더를 열지 못했습니다.";
} else echo "폴더가 존재하지 않습니다.";
?>
안에 의미 없는 파일을 몇 개 채워 넣은 뒤 예제를 실행했다.
Result
폴더가 존재합니다.
폴더를 열었습니다.
.
..
phpFile_1.php
phpFile_2.php
TextFile_1.txt
TextFile_2.txt
TextFile_3.txt
TextFile_4.txt
closedir() : 폴더를 닫는 함수
폴더의 활용이 끝나면 opendir() 함수가 반환한 데이터를 닫아준다. 이 데이터를 닫을 때 사용하는 함수이다.
구성 |
opendir('폴더명'); |
closedir($open); |
위의 readdir() 예제에서 while 반복문 아래에 closedor()를 삽입하여 폴더를 닫는다.
...
while(($read = readdir($open))) {
echo $read."<br>";
}
closedir($open);
...
rmdir() : 폴더를 삭제해주는 함수
이 함수는 빈 폴더일 경우에만 실행된다.
구성 |
rmdir('삭제할 폴더명'); |
<?php
$folderName = 'newFolder';
rmdir($folderName);
if(is_dir($folderName)) echo "폴더가 존재합니다.";
else echo "폴더가 존재하지 않습니다.";
?>
Result
폴더가 존재하지 않습니다.
Result : 빈 폴더가 아닐 경우
Warning: rmdir(newFolder): Directory not empty in C:\xampp\htdocs\php\01_echo.php on line 3
폴더가 존재합니다.
Directory not empty : 디렉터리가 비어있지 않습니다.
728x90
'Backend > php' 카테고리의 다른 글
[PHP] 파일 함수 (2) - fread(), filesize(), file_exists() (0) | 2020.03.22 |
---|---|
[PHP] 파일 함수 (1) - fopen(), fclose(), fwrite() (0) | 2020.03.22 |
[PHP] 폴더/디렉터리 함수 (1) - mkdir(), is_dir(), rmdir() (1) | 2020.03.20 |
[PHP] filter_var() 유효성 검사 함수 - 이메일, URL, IP (0) | 2020.03.20 |
[PHP] 정규표현식 preg_match() (3) - 휴대전화, 이메일 유효성 검사 (0) | 2020.03.12 |