Как ще стане чрез php?

Styl3rbg

Registered
Как може чрез php да се изтрие файл от папка примерно:
Имам файл failche.txt и искам да бъде изтрито след 1 седмица тоест
В БД се записва времето на изтриване примерно 7.7.2007 и като стане 7.7.2007 файла се изтрива от БД(знам как става) и от папката където е качен (не знам как става)
Та въпроса ми е как ще стане?
И примерно при добавяне на файл
като се записва в таблицата от БД, в колонка expire да се запише датата, обаче + 7 дни напред тоест днес е 1, а в БД се записва 8
 
Nazi_93 каза:
PHP:
$file='file.txt';
unlik($file);
Така можеш да изтриеш файла.
Дава грешка:
Fatal error: Call to undefined function unlik() in /var/www/virtual/up#/htdocs/index.php on line 24
 
Styl3rbg каза:
Nazi_93 каза:
PHP:
$file='file.txt';
unlink($file);
Така можеш да изтриеш файла.
Дава грешка:
Fatal error: Call to undefined function unlik() in /var/www/virtual/up#/htdocs/index.php on line 24

unlink() извинявай,малка грешка от недоглеждане...
 
PHP:
echo 'Днес е: ' . date("d.m.Y");
echo '<br />';
echo 'След седем дена ще е: ' . date("d.m.Y", strtotime("+7 days"));
 
Записваш си в някакъв кеш записите заедно с времето и ако изтече можеш да пуснеш cron jobs през 24 часа да ги чисти.

Ще ти напиша някакъв пример, за да ти стане ясно.
 
Явно си се оправил вече, но може да ти е от полза и тва.

PHP:
<?php

include('config.cache.php');
include('class.cache.php');

$cache = new QueCache();

$prefix = 'files_';
$file_name = 'file01.txt';
$file = '/files/file01.txt';
$file_time = '+7 days';


// # Тва го пускай като качваш файла, за да не се слага кеша секи път..
$cache->put($prefix . $file_name, serialize($file), $file_time);
// # end

foreach($cache->asarray($prefix, true) as $file)
{
    if(!$cache->exists($file))
    {
        @unlink(unserialize($cache->get($file)));
        continue;
    }
}

?>

Само си дръпни тва https://github.com/alex02/quecache/zipball/dev

Разучи как се работи с cron jobs и на 24 часа кода ще проверява за изтекли файлове и ако има ще ги трие.
 

Back
Горе