Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление из строкового файла когда счётчик достигнит нуля!
 
 автор: sedek   (08.12.2004 в 04:24)   письмо автору
 
 

У меня есть файл мне нужно чтобы при обращении к скрипту скрипт уменьшал на 1 цифры в каждой строке а когда цивры в строке достигнут 0 то удалял эту строку в которой 0!
Помогите пожалуйста!
во вложении файл с примерными строками!
цифры в строке которые нужно уменьшать в 4 параметре!
ASDF = sedek = москва = 45 = + = инфо о пользователе
BSTU = marku = москва = 67 = + = инфо о пользователе
вот 45 должен заменить на 44 и 67 на 66 и так далее строк может быть много и их число постоянно меняется и сами числа тоже постоянно меняются например сейчас 45 а при следующем обращении там может быть 63 или другое!

   
 
 автор: cheops   (08.12.2004 в 14:34)   письмо автору
 
   для: sedek   (08.12.2004 в 04:24)
 

Хм... интересная задача...
<?php
  
// Имя файла
  
$filename "file.txt";
  
// Получаем содержимое файла
  // в виде массива строк
  
$lines file($filename);
  
// В эту строку будем складывать
  // новые строки файла
  
$data "";
  
// Обработку данных призводим
  // в цикле
  
foreach($lines as $index => $line)
  {
    
$patern "|^([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^\n]+)|i";
    
preg_match ($patern$line$out);
    
// Если число равно 1, то пропускаем
    // цикл исключая тем самым строку из
    // конечной строки $data
    
$out[4]--;
    if(
$out[4] == 0) continue;
    
$data .= "$out[1] = $out[2] = $out[3] = $out[4] = $out[5] = $out[6]\n";
  }
  
// Записываем новые данные в файл
  
$fd fopen($filename,"w");
  
fwrite($fd,$data);
  
fclose($fd);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования