<?php
echo "<b>1. fopen(), fclose()</b><br>";
//fopen() 파일을 오픈해주는 함수
/*
r : 파일 읽기
w : 파일 쓰기
기존의 파일이 존재하면 파일의 크기를 0byte로 만들고
기존의 파일이 없다면 새로 만들어준다.
a : add
파일이 존재하면 파일의 끝에 덧붙여 쓰고,
기존의 파일이 없다면 새로 만들어준다.
*/
//fclose() 오픈한 파일을 닫아주는 함수
if($fp=fopen("sample.txt", "r"))
{
echo "파일 열기 성공 ";
if($ref=fclose($fp))
echo "파일 닫기 성공 ";
else
echo "파일 닫기 실패 ";
}
else
echo "파일 열기 실패";
echo "<br><br><hr>";
echo "<b>2. file_exists()</b><br>";
//file_exists() 해당 경로명에 파일이 존재하는지의 여부를 검사
if(file_exists("sample.txt"))
echo "파일이 존재합니다";
else
echo "파일이 존재하지 않습니다.";
echo "<br><br><hr>";
echo "<b>3. filesize()</b><br>";
// filesize() 파일의 크기를 반환해주는 함수.
if($size=filesize("sample.txt"))
printf ("파일크기 : %d", $size);
else
printf("파일이 존재하지 않습니다.");
echo "<br><br><hr>";
echo "<b>4. fputs(), fgets(), feof()</b><br>";
//fputs(), fgets() 파일에 한 줄의 텍스트 또는 특정 문자열의 길이만큼 쓰거나 읽을 때 사용하는 함수.
//feof : end of file
//파일 포인터가 파일의 끝에 도달하거나 오류가 발생하면 true를 반환, 그렇지 않으면 false 값을 반환.
$str[0]="안녕하세요111";
$str[1]="안녕하세요222";
$str[2]="안녕하세요333";
$str[3]="안녕하세요444";
$fp=fopen("test.txt", "w");
for($i=0; $i<4; $i++)
{
$temp=$str[$i]."<br>";
fputs($fp, $temp);
}
fclose($fp);
$fp=fopen("test.txt","r");
while(!feof($fp))
{
$buffer=fgets($fp, 4896);
printf("%s<br>",$buffer);
}
fclose($fp);
echo "<br><br><hr>";
echo "<b>5. copy(), unlink(), rename() </b><br>";
//copy(인자1, 인자2) : 인자1 파일의 내용을 인자2 파일로 복사.
//unlink() : 지정된 파일을 삭제
//rename(인자1, 인자2) : 인자1의 이름을 인자2로 변경.
$sorce="test.txt";
//복사가 성공하면 true, 그런데 !(not)이 있으므로 false -> else로 넘어감.
//복사가 실패하면 false, 그런데 !(not)이 있으므로 true가 됨.
if(!copy($sorce, "test.bak"))
echo "복사 실패 <br>";
else
echo "복사 성공 <br>";
//-> test.txt, test.bak 존재.
if(!unlink($sorce))
echo "파일 삭제 실패 <br>";
else
echo "파일 삭제 성공 <br>";
//-> test.txt 삭제, test.bak 남음
if(!rename("test.bak", "newest.txt"))
echo "이름 변경 실패 <br>";
else
echo "이름 변경 성공 <br>";
//-> test.bak 가 newest.txt 로 바뀌어 결국, newest.txt 만 남음.
echo "<br><br><hr>";
echo "<b>6. disk_free_space(디렉토리), disk_total_space(디렉토리)</b><br>";
//disk_free_space(디렉토리) : 하드의 여유공간
//disk_total_space(디렉토리) : 하드 전체 용량
$df=disk_total_space("/");
echo "전체 디스크 공간 $df bytes <br>";
$df=disk_free_space("/");
echo "여유 디스크 공간 $df bytes <br>";
echo "<br><br><hr>";
echo "<b>7. mkdir(), rmdir()</b><br>";
//mkdir(생설할 폴더 이름, 권한부여(8진수)) 디렉토리(폴더) 생성
//rmdir() 디렉토리 삭제(하위 디렉토리나 파일이 존재하면 삭제가 안됨. 하위 디렉토리나 존재하는 파일을 삭제하려면 8진수 권한을 부여해야 한다.)
/*
if(mkdir("myfolder", 0700))
echo "폴더 생성 성공";
else
echo "폴더 생성 실패";
*/
if(rmdir("myfolder"))
echo "폴더 삭제 성공";
else
echo "폴더 삭제 실패";
echo "<br><br><hr>";
echo "<b>8. opendir(), readdir(), closedir() </b><br>";
//opendir() : 폴더 열기
//readdir() : 폴더 안의 내용물(파일, 폴더) 불러오기.
//closedir() : 폴더 닫기
/*
. 현재디렉토리,
.. 상위 디렉토리
/ 루트 디렉토리
*/
if($handle=opendir("."))
{
echo "Directory Handle: $handle<br>";
while(false !== ($file=readdir($handle)))
echo "$file<br>";
}
closedir($handle);
?>