Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: удаление из файла по достижениии 0

Сообщения:  [1-10]   [11-18] 

 
 автор: посетитель   (10.05.2005 в 13:59)
 
   для: cheops   (10.05.2005 в 13:07)
 

спасибо я уж немного исправил.


<?php
$lines 
file($fil);
$data "";
foreach(
$lines as $index => $line)
{
$patern "|^([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^\n]+)|i";
preg_match ($patern$line$out);
$out[4]--;
if(
$out[4] == 0){
$data .= "$out[1] = $out[2] = $out[3] = $out[4] = $out[5]-off = $out[6]\n";
}
else
$data .= "$out[1] = $out[2] = $out[3] = $out[4] = $out[5] = $out[6]\n";
if(
$out[4] == 1){
echo 
'$PID'."\r\n$out[1] $time-$master> Ваш статус OFF.<ems:br>____<ems:br><encode>master xchat.chat online</encode>-Вернуться.\r\n"; }
}
$data trim($data);
$fd fopen($fil"w");
fwrite($fd$data);
fclose($fd);
?>

   
 
 автор: cheops   (10.05.2005 в 13:07)   письмо автору
 
   для: посетитель   (09.05.2005 в 23:03)
 

Да действительно, просто выводил в окно браузера и просмотрел, что вывод не идёт в файл. Причина появления пустых строк с =, заключается в том, что со временем в конце накапливаются переводы строк (так как последняя строка тоже содержит \n, хотя не следовало бы), которые затем интерпретируются. Чтобы избавиться от этого, прогоняйте перед записью в файл, переменную $data через функцию trim().
<?php
  $data 
trim($data);
?>

   
 
 автор: посетитель   (09.05.2005 в 23:06)
 
   для: посетитель   (09.05.2005 в 23:03)
 

можно это както исправить?

   
 
 автор: посетитель   (09.05.2005 в 23:03)
 
   для: cheops   (09.05.2005 в 21:22)
 

ну не даётся мне мускул что я поделаю.
это не записывается в файл просто неможет
а посылается по смс.
а вот откуда берутся пустые строки с разделителями?

   
 
 автор: cheops   (09.05.2005 в 21:22)   письмо автору
 
   для: посетитель   (09.05.2005 в 19:18)
 

У вас по достижению 0 пишется вот эта абра-кадабра в файл
$PID
R5D3F4 -> Ваш статус OFF.<ems:br>____<ems:br><encode>master xchat.chat online</encode>-Вернуться.
R5D3F4 = DENVER = Москва = off = +-OFF = информация пока отсутствует 
E4F5R4 = SEDEK = Москва = 88 = + = информация пока отсутствует 
DFT5H4 = nimbus = Москва = 46 = + = информация пока отсутствуе

и скрипт не может её корректно обработать, так как он заточен под определённый формат.

PS Вы с ума свихнётесь на файлах :))) переходите на MySQL, не пожалеете :)))

   
 
 автор: посетитель   (09.05.2005 в 19:18)
 
   для: cheops   (09.05.2005 в 18:09)
 

<?php
$lines 
file($fil);
$data "";
foreach(
$lines as $index => $line)
{
$patern "|^([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^ ]+) = ([^\n]+)|i";
preg_match ($patern$line$out);
if(
$out[4] != 'off')
$out[4]--;
if(
$out[4] == 0){
$data .= "$out[1] = $out[2] = $out[3] = off = $out[5]-OFF = $out[6]\n";
echo 
'$PID'."\r\n$out[1] $time-$master> Ваш статус OFF.<ems:br>____<ems:br><encode>master xchat.chat online</encode>-Вернуться.\r\n"; }
else
$data .= "$out[1] = $out[2] = $out[3] = $out[4] = $out[5] = $out[6]\n";
}
$fd fopen($fil"w");
fwrite($fd$data);
fclose($fd);
?>
вот.

   
 
 автор: cheops   (09.05.2005 в 18:09)   письмо автору
 
   для: посетитель   (09.05.2005 в 14:33)
 

Хм... а не могли бы вы привести код который у вас сейчас, тот что обрабатывает вашу последовательность из 5 =?

   
 
 автор: посетитель   (09.05.2005 в 14:33)
 
   для: посетитель   (09.05.2005 в 09:41)
 

непойму где ошибка.
добавляются строки вида
= = = = =
= = = = =

   
 
 автор: cheops   (09.05.2005 в 13:22)   письмо автору
 
   для: посетитель   (09.05.2005 в 13:05)
 

Он приведёт его к цифре (к 0) и вычтет.

   
 
 автор: посетитель   (09.05.2005 в 13:05)
 
   для: cheops   (09.05.2005 в 12:56)
 

а разве если там будет off то он его всёравно будет продолжать вычитать? тамже не цифры будут.

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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