Работа с файлом
1.
Сергей (05.10.2013 / 15:59)
Есть файл file.txt в этом файле есть уникальная запись(одна такая) серединка записи выглядит так text1,5;text2,9;text3,15;text4,12; и так далее , цыфра после запятой должна уменьшатся только в одной записи к примеру здесь text1,5; к примеру на единицу и когда будет Ноль(0) то к примеру text1,0; должен удалится . Как такое реализовать ?
2.
Абдула (05.10.2013 / 16:18)
Могу на C++ или на Паскале написать... И спасибо, что хорошо объяснил, слишком много "к примеру", я запутался в них.
3.
Сергей (05.10.2013 / 16:22)
2.
Аварский, нужно на php
4.
Абдула (06.10.2013 / 08:26)
Пиши в ICQ что именно нужно... Поможем...
5.
Сергей (07.10.2013 / 00:03)
Общем задумка из первого поста реализована этим
Аварский товарищем.
Выкладываю сюда код вдруг кому понадобится.
<?
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
и так далее .
URL:
https://visavi.net/topics/39123