file
-가장 간편하게 파일의 내용을 가져올 수 있는 함수로
포인터가 열려 있지 않아도 파일의 내용을 모두 가져올 수가 있다.
단, 내용을 줄단위로 구분하여 배열로 리턴하는데,

예를들어 파일 내용의 첫 번째 줄을 배열 원소 0으로 리턴하며, 두 번째 줄을 배열원소 1로 리턴한다.

저장될 배열  = file ("파일이름");

<?
$file = file("test.txt");
$size = sizeof($file);

for ($i=0; $i < $size; $i++){
 echo $file[$i];
}
?>
결과는
ABC DEF GHI
-> test.txt파일은 3줄로 되어 있으므로
for문은 0-2까지 돌게 되어 $file[0], $file[1], $file[2] 를 출력하게 된다

이때도 배열 원소를 하나하나 출력하는 것보다는
한꺼번에저장해 놓고 출력해주는 것이 좋다.



fgetc
-fgets에서는 지정된 길이만큼의 내용을 읽어오는 것과는
달리 항상 1바이트의 문자만을 읽어온다.
저장될 변수 = fgetc ("파일포인터");

<?
$fp=fopen ("test.txt", "r");
echo fgetc ($fp);
?>
결과는 A



fgetss
-기본적으로 fgets와 그 형식은 같지만,
가져올때 html이나 php구문은 제외하고 가져온다.
저장될 변수 = fgetss ("파일포인터", 길이);

a.txt를 만들고
<b>A</b>
라고 작성하여 보자

<?
$fp=fopen ("a.txt", "r");
echo fgets($fp, 2048);
?>
결과는 A

<?
$fp=fopen ("a.txt", "r");
echo fgetss($fp, 2048);
?>
결과는 A



fread
-fgets와 비슷한 기능을 갖는 함수로
파일포인터에서부터 정해준 길이만큼의 내용을 가져온다.

그런데 fread는 바이너리 형식으로 가져오기에
텍스트형식이 아닌 exe나 zip또는 이미지 등의 파일을 그대로 가져올 수 있다.
fread ("파일포인터", 길이);

<?
$fp=fopen ("banner.gif", "r");
$size=filesize("banner.gif");
echo fread($fp, $size);
?>








+ Recent posts