2013-07-20 1 views

답변

1

당신은을 사용할 수 있습니다 fseek() 기능 :

fwrite($F,$data); 
fseek($F, 0); 
fwrite($F,$data2); 
1

rewind을 사용하면 파일의 처음으로 되돌아갑니다.

fwrite($F,$data); 
rewind($F); 
fwrite($F,$data2); 

결과 파일의 내용은 다음과 같습니다

JJJJJJJJJJJJJJH 

파일의 시작 부분을 덮어 쓰기하는 것은 뒤에 오는 것을 대체하지 않습니다 때문이다. 전화하실 수 있습니다 :

ftruncate($F, count($data2)); 

파일 길이를 설정하십시오.

0

fwrite은 항상 커서 위치를 기록하고 커서를 다음 줄로 이동합니다. 따라서 첫 번째 문자열을 쓸 때 첫 번째 줄에 쓰고 커서를 다음 줄로 이동합니다. 현재 커서 위치는 두 번째 줄에 있습니다. 따라서 특정 행을 덮어 쓰려면 해당 행에 seek을 입력해야합니다.

fseek($F, <byte_position>); 
fwrite($F, <string>); 
+0

fseek과는 바이트 위치가 아닌 줄 번호를합니다. – Barmar

+0

죄송합니다, 형편 없음. 내가 그것을 업데이트하자. 감사. –

-1

사용 file_put_contents()

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 
+0

그는 연결을 닫고 싶지 않다고 말했다. 'file_put_contents()'는 연결을 열고 닫습니다. – Barmar

관련 문제