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

Форум PHP

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

 

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

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

тема: Как сделать автоудаление старого сообщения из текстового файла?
 
 автор: ded   (26.04.2005 в 22:42)   письмо автору
 
 

У меня есть скрипт Каталог ссылок, я хочу переделать его под доску объявлений и мне нужна функция автоудаления объявлений старше 20 дней из .dat файла. Помогите пожалуйста.

   
 
 автор: cheops   (26.04.2005 в 23:01)   письмо автору
 
   для: ded   (26.04.2005 в 22:42)
 

Нужен формат .dat-файла и вообще неплохобы увидеть его кусочек, чтобы было на чём отработать код.

   
 
 автор: ded   (26.04.2005 в 23:21)   письмо автору
 
   для: cheops   (26.04.2005 в 23:01)
 

::1072772958::30.12.03 16:29::ademan::info@ademan.net::Laboratory::ademan.net::Сайт о PHP-программировании.<br>Родина этого скрипта=)
::1114536237::26.04.05 21:23::::::rrrr::::rrr
Вот .dat c сообщением, но там естьещё .дат с категорией.

   
 
 автор: ded   (26.04.2005 в 23:22)   письмо автору
68 байт
 
   для: ded   (26.04.2005 в 23:21)
 

.дат с категорией
304103feffdf42726b::Тестовая категория
24785426e4e9497cd3::Работа

   
 
 автор: ded   (26.04.2005 в 23:23)   письмо автору
19 Кб
 
   для: ded   (26.04.2005 в 23:22)
 

А вот сам скрипт

   
 
 автор: cheops   (26.04.2005 в 23:47)   письмо автору
 
   для: ded   (26.04.2005 в 23:21)
 

Для него следует использовать примерно следующий скрипт (при условии, что файл называется data.dat):
<?php
  
// Разбиваем содержимое файла data.dat
  // по строкам - один элемент массива - одна строка
  
$lines file("data.dat");
  
// В цикле разбиваем строку и извлекаем время
  
for($i 0$i count($lines); $i++)
  {
    
// Разбиваем строку на отдельные компоненты
    
$arr explode("::"$lines[$i]);
    
// Время в секундах с 1 января 1979 года 
    // находится в $arr[1] - вычислим разницу с
    // текущим моментом: если она больше 20 дней
    // запись удаляем
    
if((time() - $arr[1])/3600/24>20) unset($lines[$i]);
  }
  
// Формируем новое содержимое файла
  
$content implode("",$lines);
  
// Переписываем содержимое файла
  
$fd fopen("data.dat","w");
  
fwrite($fd,$content);
  
fclose($fd);
?>

   
 
 автор: ded   (27.04.2005 в 01:38)   письмо автору
 
   для: cheops   (26.04.2005 в 23:47)
 

Попробую. Спасибочки :) С меня магарыч, если заработает.

   
 
 автор: ded   (29.04.2005 в 00:16)   письмо автору
 
   для: ded   (27.04.2005 в 01:38)
 

Ура! Заработал код. Огромное спасибо. Я на ваш форум на своём сайте ссылку установлю и другим буду советовать обращаться.

   
Rambler's Top100
вверх

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