연결을 닫지 않고 덮어에 fwrite는 fopen을 사용하여 텍스트를 덮어 쓰기하는 방법
내가 출력 파일의"JJJJJJJJJJJJJJ"
해야 할
$data = 'HHHHHHHHHHHHHHH';
$data2 = 'JJJJJJJJJJJJJJ';
$F = fopen('tbbbb.txt','w');
fwrite($F,$data);
fwrite($F,$data2);
fclose($F);
연결을 닫지 않고 덮어에 fwrite는 fopen을 사용하여 텍스트를 덮어 쓰기하는 방법
내가 출력 파일의"JJJJJJJJJJJJJJ"
해야 할
$data = 'HHHHHHHHHHHHHHH';
$data2 = 'JJJJJJJJJJJJJJ';
$F = fopen('tbbbb.txt','w');
fwrite($F,$data);
fwrite($F,$data2);
fclose($F);
당신은을 사용할 수 있습니다 fseek()
기능 :
fwrite($F,$data);
fseek($F, 0);
fwrite($F,$data2);
rewind
을 사용하면 파일의 처음으로 되돌아갑니다.
fwrite($F,$data);
rewind($F);
fwrite($F,$data2);
결과 파일의 내용은 다음과 같습니다
JJJJJJJJJJJJJJH
파일의 시작 부분을 덮어 쓰기하는 것은 뒤에 오는 것을 대체하지 않습니다 때문이다. 전화하실 수 있습니다 :
ftruncate($F, count($data2));
파일 길이를 설정하십시오.
fwrite
은 항상 커서 위치를 기록하고 커서를 다음 줄로 이동합니다. 따라서 첫 번째 문자열을 쓸 때 첫 번째 줄에 쓰고 커서를 다음 줄로 이동합니다. 현재 커서 위치는 두 번째 줄에 있습니다. 따라서 특정 행을 덮어 쓰려면 해당 행에 seek
을 입력해야합니다.
fseek($F, <byte_position>);
fwrite($F, <string>);
file_put_contents('file.txt', $data);
echo file_get_contents('file.txt'); // HHHHHHHHHHHHHHH
file_put_contents('file.txt', $data2);
echo file_get_contents('file.txt'); // JJJJJJJJJJJJJJ
그는 연결을 닫고 싶지 않다고 말했다. 'file_put_contents()'는 연결을 열고 닫습니다. – Barmar
fseek과는 바이트 위치가 아닌 줄 번호를합니다. – Barmar
죄송합니다, 형편 없음. 내가 그것을 업데이트하자. 감사. –