컴퓨터/APM

PHP : 함수 정리편..

하늘치 2008. 1. 18. 16:08
반응형


<?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);


?>

반응형