이전 섹션에서 우리는 파일 읽기가 특히 마스터하기 쉽다는 것을 배웠습니다. 이번 섹션에서는 파일 쓰기에 대해 설명하겠습니다.
file_put_contents 파일에 쓰기
먼저 파일을 쓰는 첫 번째 방법을 배워봅시다:
int file_put_contents (string $file path, string $write data])
Function: Write 지정된 파일에 문자열을 추가하고 파일이 없으면 파일을 만듭니다. 반환되는 것은 쓴 바이트의 길이입니다
<?php $data = "在PHP中文网学好PHP,妹子票子不再话下!"; $numbytes = file_put_contents('binggege.txt', $data); if($numbytes){ echo '写入成功,我们读取看看结果试试:'; echo file_get_contents('binggege.txt'); }else{ echo '写入失败或者没有权限,注意检查'; } ?>
파일 쓰기가 매우 간단하다는 것을 알았습니다. 이 함수의 형식에 따라 파일을 지정하고 문자열 데이터를 씁니다.
fwrite는 fopen과 협력하여 쓰기 작업을 수행합니다
int fwrite (resource $file 리소스 변수, string $write string [, int length])
참고: fwrite의 별칭 함수는 fputs입니다
저번 수업에서는 읽을 때만 사용했던 r 모드를 사용해 보았습니다. 다음으로 fopen에서 fwrite + w를 사용하여 쓰기 모드에서 파일을 씁니다.
기능을 살펴보겠습니다.
쓰기 모드로 열고 파일 포인터를 파일 헤더로 가리키고 파일 크기를 0으로 자릅니다. 파일이 존재하지 않으면 파일 생성을 시도합니다.
참고: 다음 실험에서는 새 test.txt 파일을 만들고 여기에 콘텐츠를 쓸 수 있습니다. 그런 다음 test.txt를 삭제해 보세요. 어떤 팁이 있는지 확인해보세요. <… 존재하지 않으면 생성됩니다
그런 다음 다음 모드의 차이점을 비교해 보겠습니다.
실험을 통해 증명해보자:
<?php $filename = 'test.txt'; $fp= fopen($filename, "w"); $len = fwrite($fp, '我是一只来自北方的狼,却在南方冻成了狗'); fclose($fp); print $len .'字节被写入了\n'; ?>
실험 도중 r 뒤의 + 기호를 제거할 수 있습니다.
실험을 통해 r 모드를 사용하면 파일 저장 시 데이터 쓰기가 가능하다는 것을 확인했습니다. r만 사용하면 쓰기가 실패합니다.
a 모드와 w 모드의 차이점
아래는 같은 코드인데, 모드로 변경해보겠습니다.
<?php $filename = 'test.txt'; $fp= fopen($filename, "r+"); $len = fwrite($fp, '我是一只来自南方的狼,一直在寻找心中的花姑娘'); fclose($fp); print $len .'字节被写入了\n'; ?>
웹페이지를 열고 이 코드를 실행하면 다음을 확인할 수 있습니다. 새로 고칠 때마다 파일에 추가 단락이 있습니다
: 대학에서 혼란스럽다면 PHP 중국어 웹사이트에서 PHP를 배우세요 당신에게 희망을 줄 것입니다.
요약:
模式 | 总结 |
---|---|
x | 每次写入会干掉原有文件的内容,文件不存在都会创建 |
a | 每次写入都会向文件的尾端追加内容 |
참고: a+는 향상된 추가 기능입니다. 읽을 수 있을 때에도 사용할 수 있습니다.
x 모드와 w 모드의 차이점
이 코드를 다시 시도하여 x 모드로 변경해 보겠습니다.
<?php $filename = 'test.txt'; $fp= fopen($filename, "a"); $len = fwrite($fp,'读大学迷茫了,PHP中文网学PHP给你希望'); echo $len .'字节被写入了\n'; ?>
찾을 내용은 다음과 같습니다.
1 .해당 파일이 존재하면 에러가 발생합니다
2. $filename을 다른 파일명으로 변경하면 괜찮습니다. 그런데 다시 새로고침을 하면 오류가 보고됩니다
3.x+는 향상된 x 모드입니다. 읽을 때에도 사용할 수 있습니다.
다음 섹션