Чтение первых 10 строк фаила и одноврменное их уничтожение из фаила?

REMO

Guest
Чтение первых 10 строк фаила и одноврменное их уничтожение из фаила?

Пытаюсь прочитать первые 10 строк из фаила, чтобы они при этом стерлись, т.е. фаил уменьшился на 10 первых строк...
PHP:
$fp = fopen("fail.txt","rt");
flock($fp,LOCK_EX); 
while(!feof($fp))
	$data[] = fgets($fp);

$fp = fopen("file.txt","wt");

for($i=0; $i < 10; $i++)
	unset($data[$i]); 

$content_2_write = implode('',$data);

fputs($fp,$content_2_write);
flock($fp,LOCK_UN); 
fclose($fp);
Причем необходимо, чтобы с фаилом работал только этот скрипт.
Для этого сначала открываю фаил в режиме "r", читаю его содержимое в массив, а затем повторяю открытие в режиме "w", чтобы он удалился...

Удаляю первые десять элементов массива, и пишу остаток массива в фаил...

Извращенно конечно, но что то более элегантное ничего на ум не идет. Да и это не пашет :(
 

REMO

Guest
И что это мне дает?

Если я буду использую file(), то возможно, что какой процесс допишет в этот фаил что то в момент, когда я буду обрабатывать прочитанное file()...

Поэтому я не могу использовать file(), а использую fopen(), а затем исключительную блокировку...

Но пробема в том, как, прочитав фаил, затем почистить его содержимое? Чтобы писать уже в чистый фаил?
 

REMO

Guest
2bakh

Thanx, все заработало :)

2Intent

Тоже thanx, с правами все ок, вроде...
 
Сверху