Работа с файлом

Печать RSS
266

Автор
Чатланин
0
Есть файл file.txt в этом файле есть уникальная запись(одна такая) серединка записи выглядит так text1,5;text2,9;text3,15;text4,12; и так далее , цыфра после запятой должна уменьшатся только в одной записи к примеру здесь text1,5; к примеру на единицу и когда будет Ноль(0) то к примеру text1,0; должен удалится . Как такое реализовать ?
Изменил: Сергей (05.10.2013 / 16:22)

Чатланин
0
Могу на C++ или на Паскале написать... И спасибо, что хорошо объяснил, слишком много "к примеру", я запутался в них.
Автор
Чатланин
0
2. Аварский, нужно на php

Чатланин
0
Пиши в ICQ что именно нужно... Поможем...
Автор
Чатланин
0
Общем задумка из первого поста реализована этим Аварский товарищем.
Выкладываю сюда код вдруг кому понадобится.
 <?
function f($str, $path_file){
	$arr_str = file($path_file);
	//Поиск нужной строки
	for ($i=0; $i<count($arr_str); $i++){
	$str2 = stripos($arr_str[$i], $str);
	if ($str2!==false) break;
	}

	//Выделяем из строки число и уменьшаем на единицу
	$ch = intval(substr($arr_str[$i], strlen($str)+1));
	$ch2 = $ch-1;

	//Записываем данные обратно в файл.
	if ($ch2!=0){
		$arr_str[$i] = str_replace($ch, $ch2, $arr_str[$i]);
		$file = fopen("sites.txt", "w");
		for ($j=0; $j<count($arr_str); $j++){
			fwrite($file, $arr_str[$j]);
		}
	} else {
		$file = fopen("sites.txt", "w");
		for ($j=0; $j<count($arr_str); $j++){
			if ($j==$i) continue;
			fwrite($file, $arr_str[$j]);
		}
	}
	fclose($file);
}
$str = "site.ru";
$path_file = "sites.txt";
f($str, $path_file);
?>
 
сам файл txt выглядит так

site2.ru,60
site.ru,50
site3.ru,40
и так далее .
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск