Autor Zpráva
lukas7
Profil
Zdravím, na ftp si často nahrávám soubory které potřebuji jen dočasně na pár dní. Občas je třeba když jich je tam už několik desítek potřeba ftp pročistit, musím vždy soubor po souboru procházet který je strarý, který již nepotřebuji smazat a aktuální ponechat. Hledal jsem php skript který by po určitém čase např. automaticky mazal soubory na ftp které jsou staré 30dnů. Poradí mi někdo nak na to? Díky
Taps
Profil
lukas7:
patřičný skript se dá vytvořit pomocí php a spouštění skriptu po určitém čase můžeš nastavit pomocí cron
Alphard
Profil
scandir() načte soubory do pole
filemtime() zjistí stáří souboru
unlink() smaže soubor
Cron je asi zbytečný. Zadat jednou za měsíc adresu vas-web.cz/smazat_stare.php nebude problém.
lukas7
Profil
Taps:
patřičný skript se dá vytvořit pomocí php a spouštění skriptu po určitém čase můžeš nastavit pomocí cron
Ano to mě taky napadlo, že by se spuštěl pomocí cronu třeba každých 14dní, ale bohužel nejsem tak zdatný abych takový skript v php vytvořil :(, byl bych rád kdyby mi někdo pomohl.
Taps
Profil
lukas7:
a bylo by za případnou pomoc nějaké ocenění? eventuálně bych měl zájem.
skyline
Profil
Tak tohle jsem sesmolil asi za deset minut, není to zase tak těžké, když se člověk podívá do manuálu :). Už je to staré téma, ale třeba se to ještě někomu bude hodit.
    // složka se soubory
    $temporary_files_dir = "uploads/";
    // pokud je soubor starší než čas v sekundách níže, tak se smaže (60sekund*60minut*24hodin=1den)
    $max_temporary_file_age = 60*60*24;  
    $temporary_files_dir2 = opendir($temporary_files_dir);                        
    $temporary_files_deleted = 0;  // jen info 
    while ($temporary_file_inside_dir = readdir($temporary_files_dir2)) {
      if(!is_dir($temporary_files_dir.$temporary_file_inside_dir)) {  
        // U určuje počet sekund od 1. ledna 1970     
        $temporary_file_inside_dir_age = date("U") - date ("U", filemtime($temporary_files_dir.$temporary_file_inside_dir));
        if($temporary_file_inside_dir_age > $max_temporary_file_age) {
          unlink($temporary_files_dir.$temporary_file_inside_dir);                        
          $temporary_files_deleted++;    // jen info
        }              
      }
    }  
    echo "Celkem smazáno ".$temporary_files_deleted." souborů.";  // jen info  

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0