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

Форум PHP

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

 

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

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

тема: Как очистить файл через 5 мин?
 
 автор: Specter   (18.02.2007 в 15:23)   письмо автору
 
 

Нужно для текстового счетчика. Не знаю как оттуда данные сбросить через 5 мин после добавления.

   
 
 автор: cheops   (18.02.2007 в 15:51)   письмо автору
 
   для: Specter   (18.02.2007 в 15:23)
 

Доступен ли для использования cron?

   
 
 автор: Specter   (18.02.2007 в 16:00)   письмо автору
 
   для: cheops   (18.02.2007 в 15:51)
 

Не знаю. :(
ведь по другому как-то можно еще?
Чтобы при добавлении в файл данных добавлялась текущая дата, и потом если записанная дата + 5 мин = текущая дата, то очистить файл. Можно так?

   
 
 автор: bronenos   (18.02.2007 в 16:13)   письмо автору
 
   для: Specter   (18.02.2007 в 16:00)
 

Так к примеру
<?
$ctr 
file ('counter.txt');
$time time() - (5*60);
$newlist = array();

foreach (
$ctr as $i)
{
  list (
$date$ip) = explode ('|'$i);
  if (
$date $time)
    
$newlist[] = $i;
}
$newlist[] = time().'|'.$REMOTE_ADDR;

$fp fopen ('counter.txt''w');
fwrite ($fpimplode ("\n"$newlist));
fclose ($fp);
?>

   
 
 автор: Specter   (18.02.2007 в 16:18)   письмо автору
 
   для: cheops   (18.02.2007 в 15:51)
 

Что функция list(); делает? И что выводит time(); ?

   
 
 автор: SnooPI   (18.02.2007 в 16:25)   письмо автору
 
   для: Specter   (18.02.2007 в 16:18)
 

List ищет знак | в файле и делает функции до и после негоЮ, а time() - реальное время

   
 
 автор: Specter   (18.02.2007 в 16:26)   письмо автору
 
   для: SnooPI   (18.02.2007 в 16:25)
 

time(); - реальное время в секундах?

   
 
 автор: SnooPI   (18.02.2007 в 16:31)   письмо автору
 
   для: Specter   (18.02.2007 в 16:26)
 

Вот формат его как он записывается в файл
Пример:
78.44.64.222|1171805346
Сначала идет ip , затем идет знак | он и нужен в функции list для разделения !!!
Далее идет этот самый time()
Точность его формата я сам не понял )

   
 
 автор: bronenos   (18.02.2007 в 17:51)   письмо автору
 
   для: SnooPI   (18.02.2007 в 16:31)
 

Эй! list этого не делает, разделяет по знаку | строку функция explode
list получившийся массив раскладывает по переменным
записи идут так

время1|адрес1
время2|адрес2
время3|адрес3

   
 
 автор: Ralph   (18.02.2007 в 17:54)   письмо автору
 
   для: SnooPI   (18.02.2007 в 16:31)
 

Ну да,time() показывает количество секунд,прошедших с 1 января 1970 года...Если нужна особая точность до 1/1.000.000 секунды,можно использовать microtime(),но у него формат уже чуточку посложнее...:-)

   
 
 автор: bronenos   (18.02.2007 в 18:02)   письмо автору
 
   для: Ralph   (18.02.2007 в 17:54)
 

Да, для этого надо

$time = microtime();
$time = explode (' ', $time);
$time = $time[0] + $time[1];

   
 
 автор: Trianon   (18.02.2007 в 19:34)   письмо автору
 
   для: Specter   (18.02.2007 в 15:23)
 

Мне это напомнило вопрос: Как показать завтрашнюю дату?
и ответ: sleep(24*60*60); date('r');

   
Rambler's Top100
вверх

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