2012-09-04 3 views
0

가능한 중복 :
Need to write at beginning of file with PHPPHP에서 파일의 시작 부분에 데이터를 쓰는 방법은 무엇입니까?

나는 로그 파일을 만들려고 노력하고 있습니다. 하지만 파일의 시작 부분에 데이터를 삽입하고 싶습니다. 나는 많은 해결책을 읽었으나 그 중 많은 것은 해결책을 제시했다.

-> 추가 모드에서 파일 열기.
-> 전체 데이터를 변수에 복사하십시오.
-> 임시 변수와 데이터를 연결합니다.
-> 전체 파일을 다시 작성하십시오.

본인은 다음 링크를 방문하여 읽었습니다. Need to write at beginning of file with PHP

내 로그 파일이 약 50 - 85MB 인 경우이 프로세스는 많은 시간이 걸릴 것으로 생각됩니다.

파일의 시작 부분에 파일 포인터를 놓은 다음 데이터를 삽입하여 파일을 저장할 수 있습니까?

나는 그것이 나를 위해 일할 수있는 몇 가지 최적화 된 방법이 필요합니다.

답변

2

아니요, 파일 시작 부분에 새 데이터를 사용할 수 없습니다. 귀하의 선택 사항은 다음과 같습니다

  1. 열린 새 파일, 다음 새 파일로
  2. 열려있는 원본 파일을 이전 파일을 추가, 새로운 데이터를 기록, 파일의 시작을 덮어, 멀리 파일에 "아래로"오래된 데이터를 복사 .

파일 시작 부분에 어떤 작업을 기록해야합니까? 파일의 마지막 부분 만 읽는 것은 간단합니다. 파일이 거대하지 않고 또한 당신이 여기에 ... PHP의 메모리 충분한 경우

0

, 빠른 PHP는 당신을 도울 :

$toAdd = 'Text to add in beginning'; 
$file = '/path/to/your/file'; 
$temp = file_get_contents($file); 
file_put_contents($file, $toAdd . $temp); 
+0

는 메모리 온도를 사용합니다. 큰 데이터에는 좋지 않습니다. –

+0

내 답변을 수정했습니다. 나는 단지 askers 생활을 쉽게하고 싶니? – Karma

관련 문제