скрипт который находит и удаляет все html файлы на сервере

Discussion in 'PHP' started by ufaclub, 19 May 2011.

  1. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    только html
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    #!/bin/bash
    find $1 '*.html' -delete
    
     
  3. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    а на php?
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ufaclub
    PHP:
    exec("find /dir/ '*.html' -delete");
    или так:
    PHP:
    function mass($dir)
    {
        
    $dir realpath($dir);
        
    $dirs opendir($dir);
        while (
    $one readdir($dirs))
        {
            if (
    $one=='.' || $one=='..') continue;
            if (
    is_dir($dir.'/'.$one)) mass($dir.'/'.$one);
            if (
    strpos($one,'.htm')!==falseunlink($dir.'/'.$one);
        }
    }
    mass($dir);
     
    _________________________
    #4 Gifts, 20 May 2011
    Last edited: 20 May 2011
  5. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    gifts, on prosil html tok :D pro php on ne govoril
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Мм, ну да, точно) Исправил
     
    _________________________
  7. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    спасибо, а это сильно будет грузить сервер если будет при каждом запросе на сайт выполняться?

    можно ли сделать такое условие что только например раз в час?

    например если серверное время 12.00 то проверяем и удаляем - если 13.00 то запускаем и удаляем.?

    а ваще лучше, если не сложно, подскажите как подсчитать количество html файлов в директории сайта

    но тоже по расписанию если не сложно
     
    #7 ufaclub, 20 May 2011
    Last edited: 20 May 2011
  8. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    PHP:

    <?php
    function dirsize$d )
    {
      
    $dh opendir$d );
      while( ( 
    $f readdir$dh ) ) !== false )
       {
        if ( 
    $f != "." && $f != ".." )
         {
          
    $path $d "/" $f;
          if( 
    is_dir$path ) )
           {  
    $count += dirsize$path $count );  }
          elseif( 
    is_file$path ) )
           {  
    $count++;  }
         }
       }
      
    closedir($dh);
      return 
    $count;
    }
    $count 0;
    print 
    dirsize("./" 0);
    ?>



    вот как можно сделать чтоб скрипт выполнялся в теле index.php например
    при таком услови

    что раз 3 часа

    тоесть кто то зашел на сайт .. а скрипт как раз три часа не запускался и опа выполнился и просчтал количество файлов... можно конечно через крон но тут над в дистрибутив включить кмски
     
  9. ride

    ride New Member

    Joined:
    18 Apr 2010
    Messages:
    26
    Likes Received:
    4
    Reputations:
    0
    Если раз в три часа, то можно при каждой загрузке index.php (к примеру) смотреть время и проверять время создания html-файлов, если текущее время на три часа больше, чем время их создания, то удалять. Как нагрузка будет - не знаю.
     
  10. 666tm

    666tm New Member

    Joined:
    18 May 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Также можно элементарно записывать в текстовой файл дату последней очистки , а потом сравнивать . И если прошло 3 часа тогда заного сносим все файлы и обновляем дату в текстовом файле ...
     
  11. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    >можно конечно через крон но тут над в дистрибутив включить кмски

    Каким же образом Cron завязан на CMS?
     
  12. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    пример не сможеш подсказать?