// Test..
$find=array();
$i='bla';
$ourfile=file($i.".txt");
foreach($ourfile as $k=>&$val){
if($find=explode('|',$val)){
if($find[0]!='0' && $find[0]<'2013-12-29'){ //элемент $find[0] содержит дату вида year-mm-dd
unset($ourfile[$k]); //нашли вхождение удаляем из массива.
}
}
}
$newfile = implode('',$ourfile); //соединяем новый массив в строку
file_put_contents($i.".txt",$newfile); //записываем обновленный файл.
Когда файл (на этом примере) bla.txt заполняется из БД , этот простой скрипт выполняет все что нужно , все строки с первым вхождением даты меньше 2013-12-29 удаляются ..
При этом если я сам дописываю в файл строки, которые должны удалится - они все удаляются КРОМЕ первой ... (то есть если одну из таких строк я ставлю на первую строчку в файле - она не удаляется) ..
Мысли нашли только про разницу в кодировке ... проверил из БД выходит файл utf-8 . Вставил строку на первое место в файле , сохранил как utf-8 .. Нифига.. опять первая строка остается .. :huh:
_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )