파일 다루기
파일복사
/file/7.php
<?php $file = 'readme.txt'; $newfile = 'example.txt.bak'; if (!copy($file, $newfile)) { echo "failed to copy $file...\n"; } ?>
파일삭제
<?php unlink('deleteme.txt'); ?>
읽고 쓰기
file_get_contents
1.php
1.php 파일과 같은 디렉토리에 readme.txt 파일이 존재해야 한다.
<?php $file = './readme.txt'; echo file_get_contents($file); ?>
file_put_contents
2.php
<?php $file = './writeme.txt'; file_put_contents($file, 'coding everybody'); ?>
좀 더 고급스러운 파일 제어를 원한다면 fopen을 참조하자.
네트웍크를 통해서 데이터 읽어오기
<?php $homepage = file_get_contents('http://php.net/manual/en/function.file-get-contents.php'); echo $homepage; ?>
파일을 다루는 과정에서 발생할 수 있는 문제들
권한
파일을 읽고 쓸 때 권한의 문제로 오류가 발생할 수 있다. 권한에 대한 문제는 다소 복잡하기 때문에 동영상 강의를 참고한다.
아래 코드는 특정 파일이 읽을 수 있는 상태인지를 확인한다.
/file/4.php
<?php $filename = 'readme.txt'; if (is_readable($filename)) { echo 'The file is readable'; } else { echo 'The file is not readable'; } ?>
다음 코드는 특정 파일이 쓰기가 가능한지 확인한다.
/file/5.php
<?php $filename = 'writeme.txt'; if (is_writable($filename)) { echo 'The file is writable'; } else { echo 'The file is not writable'; } ?>
아래는 파일의 존재 여부를 확인한다.
/file/6.php
<?php $filename = 'readme.txt'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename is not exists"; } ?>
참고
file_get_contents, file_put_content를 사용할 수 없는 경우라면 fread, fwrite 함수를 사용해야 한다. 자세한 내용은 다음 링크를 참고한다.