기타 파일 관련 함수

기타 파일 관련 함수

■파일 존재 여부 확인

file_exists() : 전달받은 파일이나 디렉터리가 존재하는지 검사

if(file_exists("example.txt")) echo "파일이 존재합니다."; else echo "파일이 존재하지 않습니다.";

■파일 크기 확인

filesize() : 전달받은 파일의 크기를 바이트 값으로 반환

echo filesize("example.txt");

※ 대부분의 운영체제에서는 PHP의 정수 타입으로 32비트 정수를 사용한다.

따라서 파일의 크기가 2GB보다 크게 되면, filesize()는 예상치 못한 결과를 반환할 수도 있다.

■파일 내부 탐색

fopen()의 결과로 반환된 파일 포인터를 이용하면, 파일 내부를 직접 탐색할 수도 있다.

ftell() : 전달받은 파일 포인터가 현재 가리키고 있는 위치를 반환

rewind() : 전달받은 파일 포인터를 해당 파일의 맨 처음으로 이동

fseek() : 전달받은 파일 포인터를 특정 위치로 이동

$fp = fopen("example.txt", 'r'); // example.txt 파일을 읽기 전용으로 열고 반환된 파일 포인터를 $fp에 저장함. while(!feof($fp)){ // 파일의 끝까지 $member = fgets($fp); // 한 줄씩 $member 변수에 저장하고 echo $member.""; // 출력함. } echo ftell($fp).""; // 현재 파일 포인터는 파일의 끝부분을 가리킴. rewind($fp); // 파일 포인터를 파일의 시작 부분으로 이동시킴.​​​ echo ftell($fp);

fseek()은 첫 번째 인수로 파일 포인터를 전달받는다.

두 번째 인수로는 세 번째 인수를 기준으로 얼마만큼 파일 포인터를 옮겨야 하는지에 대한 오프셋을 전달받는다.

세 번째 인수는 오프셋 기준을 나타내며, 생략하면 SEEK_SET(파일의 처음)을 기본값으로 설정한다.

SEEK_SET : 파일의 처음을 기준

SEEK_CUR : 파일 포인터의 현재 위치를 기준

SEEK_END : 파일의 끝을 기준

$fp = fopen("example.txt", 'r'); fseek($fp, 0, SEEK_END); // 파일 포인터를 파일의 끝으로 이동시킴. echo ftell($fp).""; fseek($fp, 0); // 파일 포인터를 파일의 맨 처음으로 이동시킴. echo ftell($fp);

■파일 삭제

unlink() : 전달받은 주소에 위치한 파일을 삭제, 파일이 정상적으로 삭제됐을 때 true를 반환, 파일을 지울 수 있는 권한이 없거나 파일이 존재하지 않는 경우, 또는 파일이 정상적으로 삭제되지 못했을 때 false를 반환

if(unlink("example.txt")) echo "파일 삭제 성공"; else echo "파일 삭제 실패";

from http://woong971.tistory.com/86 by ccl(A) rewrite - 2021-11-05 15:26:27