Ограничить количество скачиваний с помощью текстового файла в PHP - PullRequest
1 голос
/ 13 сентября 2009
if ($_SERVER['REQUEST_METHOD']=='GET' && $_GET['download']==='1')
{
    $handle = fopen('lastdownload.txt','rw');
    $date = @fread($handle,filesize('lastdownload.txt'));

    if (time() - 30 * 60 > $date)
    {
    fwrite($handle,time());
    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename="dwnld_'.date('d_m_Y_H_i',filemtime('download.zip')).'.zip"');
    readfile('download.zip');
    }

    exit;
}

Привет всем, у меня проблема с ограничением количества скачиваний.

Я хочу ограничить количество скачиваний.

Если кто-то запросит файл с? Download = 1

Проверяет текущее время и время внутри файла

Если прошло 30 минут до последней загрузки, он позволяет вам загрузить снова, иначе он просто завершается.

Любая помощь, пожалуйста?

Спасибо.

Ответы [ 3 ]

1 голос
/ 10 февраля 2010

Если вы до сих пор не используете PHP4, я бы просто использовал file_put_contents() и file_get_contents().

0 голосов
/ 20 января 2014
if(fileatime("lastdownload.txt")>=300)
    {
    //Access OR File Download Code Here
    }
0 голосов
/ 14 сентября 2009

«rw» не является допустимым режимом для fopen. Вы должны использовать «r +» или «x +» и перемотать указатель файла после прочтения:

$handle = fopen('lastdownload.txt','r+');
$date = @fread($handle,filesize('lastdownload.txt'));
rewind($handle);
...