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

Форум PHP

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

 

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

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

тема: Удаление строки из файла
 
 автор: Lex   (09.06.2006 в 17:27)   письмо автору
 
 

Всем привет! Подскажите как можно зделать что бы строка из файла сама удалялась по истечении времени напримес через 1 час!

   
 
 автор: cheops   (09.06.2006 в 17:36)   письмо автору
 
   для: Lex   (09.06.2006 в 17:27)
 

Нужно запускать по cron PHP-скрипт, который будет проверять время создания строки, а для этого в её начало наверное придётся поставить временную метку.

   
 
 автор: Lex   (09.06.2006 в 17:42)   письмо автору
 
   для: cheops   (09.06.2006 в 17:36)
 

я наверное не правельно обьяснил! кароче....записываю в файл информацию типа (login::pass::а сюда время создания записи::) так вот как сделать что бы при заходе на страницу открывался этот файл и если время создания записи больше 60 мин, то удалял эту строку! во...вроде так!)

   
 
 автор: Lex   (09.06.2006 в 17:48)   письмо автору
 
   для: Lex   (09.06.2006 в 17:42)
 

в общем нужен анти флуд!

   
 
 автор: Ziq   (09.06.2006 в 23:16)   письмо автору
 
   для: Lex   (09.06.2006 в 17:42)
 

Сам то хоть понял что хотел сказать.

Cheops правильно сказал, можно запустить cron с php-скриптом грубо говоря такой

<?
$text 
file("имя_файла");

foreach(
$text as $val)
{
  
$x explode("::",$val);
  
$time $x[2];
  if(
time() - $time 3600$text2 .= $val;
}

$fp fopen("имя_файла","w");
fputs($text2);
fclose($fp);
?>


Вот так это выглядит, если грубо

   
 
 автор: tuder   (10.06.2006 в 05:20)   письмо автору
 
   для: Ziq   (09.06.2006 в 23:16)
 

Только вставить это в начало страницы и тогда, при каждом вызове страницы пользователями, будут проверяться и удаляться все старые записи. И не нужно заморачиваться с кроном.

   
 
 автор: Lex   (10.06.2006 в 16:42)   письмо автору
 
   для: tuder   (10.06.2006 в 05:20)
 

У меня вот таким способом получилось, нагромоздил но работает! как бы теперь это поменьше сделать?

$gettime = gettime();
$ftime = $gettime - 86400;

$file = file("txt.txt");
for($i=0;$i<count($file);$i++)
{$q = explode("::", $file[$i]);
if($ip=="".$q[4]."" && $soft=="".$q[3]."" && $ftime > $q[6]){

    $udel=$i;
    $file = file("txt.txt");
    $i=count($file);
    if  ($i>="1") {
    $fp=fopen("txt.txt","w");
    flock ($fp,LOCK_EX);
    for ($i=0;$i< sizeof($file);$i++) { if ($i==$udel) {unset($file[$i]);} }
    fputs($fp, implode("",$file));
    flock ($fp,LOCK_UN);
    fclose($fp);
}}}

   
Rambler's Top100
вверх

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