Количество скачиваний файла!

Discussion in 'PHP' started by Sokol-117845, 9 Jul 2011.

  1. Sokol-117845

    Sokol-117845 New Member

    Joined:
    7 Jun 2011
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    Существует какой-нибудь способ, чтобы узнать сколько раз скачали файл с сервера? Скриптик или еще что то?)
    Кто знает решение подскажите, плиз!
     
  2. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    http://dreamhelg.ru/2010/03/create-download-counter-with-php-and-mysql/
     
  3. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    не факт что файл скачали, мы можем узнать только сколько обращений было к файлу.
     
  4. buxmanager

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

    Joined:
    1 Apr 2009
    Messages:
    610
    Likes Received:
    229
    Reputations:
    69
    И может быть этих обращений с одного ip не мало)
     
  5. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    это легко контроллируется на пхп.
     
  6. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    дааа? ну и как же ты узнаешь скачали файл полностью или нет?
     
  7. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    ох емае, че трудного то выводить файл тем же fread, причем считывать последних 100 байтов скажем, и при прохождении циклом while() с fread() внутри сравнивать эти байты...

    PHP:
    <?php
    $file 
    './file.rar';
    $size filesize($file);
    $last =  $size-(floor($size/1024)*1024);
    $lastbytes =  file_get_contents($fileNULLNULL$size-$last$last);
    $download fopen($file,"rb");

    $downloaded false;
    while (!
    feof($download))
    {
        
    $data fread($download1024*8);
        print(
    $data);
        
    $downloaded = (mb_substr($data0$last) == $lastbytes)?(true):(false);
    }
    if (
    $downloaded){echo('skachano');}
    fclose($download);
    ?>
    или просто сделать проверку после цикла этого, то есть цикл, а потом ехо доунлоадед в любом случае
     
    #7 |qbz|, 11 Jul 2011
    Last edited: 11 Jul 2011
    1 person likes this.