Loading:


    Ranking pobierania plików (statystyka pobierania pliku) PHP MySQL

    Skrypt wyświetla pliki do pobranie dodatkowo prowadzi statystyki ile razy plik został pobrany.



    Napisz Artyku³

    Listing


    // Plik index.php ####################################

    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
    <TITLE>Pobieranie plików</TITLE>
    </HEAD>
    <BODY><H3>
    <?PHP

    function printList()
    {
      if(!$link = mysql_connect("localhost", "login", "hasło")){
        //echo("Problem z połšczeniem z bazą danych.");
        return;
      }
      if(!mysql_select_db("nazwa_bazy")){
        //echo("Problem z połšczeniem z bazš danych.");
        mysql_close($link);
        return;
      }

      $query = "SELECT ID, NAME FROM FILES";

      if(!$result = mysql_query($query)){
        //echo("Problem z bazš danych: odrzucone zapytanie");
        mysql_close($link);
        return;
      }
      while(($row = mysql_fetch_row($result)) != false){
        $id = $row[0];
        $file = $row[1];

        if(($file = strrchr($file, "/")) == false)
          continue;
        $file = substr($file, 1, strlen($file));

        echo("<A HREF=\"/download.php?id=");
        echo("$id\">$file</A><BR>");
      }
      mysql_close($link);
    }
    printList();
    ?>
    </BODY>
    </HTML>



    //skrypt wysyłający wybrany plik do użytkownika download.php #####

    <?PHP

    function getFileName($id)
    {
      if(!$link = mysql_connect("localhost", "login", "hasło")){
        //echo("Problem z połączeniem z bazą danych.");
        return false;
      }
      if(!mysql_select_db("nazwa_bazy")){
        //echo("Problem z połączeniem z bazą danych.");
        mysql_close($link);
        return false;
      }

      $query = "SELECT NAME FROM FILES WHERE ID='$id'";

      if(!$result = mysql_query($query)){
        //echo("Problem z bazą danych: odrzucone zapytanie");
        mysql_close($link);
        return false;
      }

      $row = mysql_fetch_row($result);
      if(!$row){
        //echo("Nie ma takiego wpisu w bazie");
        mysql_close($link);
        return false;
      }
      $query = "UPDATE FILES SET COUNTER = COUNTER + 1 WHERE ID='$id'";
      if(!$result = mysql_query($query)){
        //echo("Problem z bazą danych: odrzucone zapytanie");
        mysql_close($link);
        return false;
      }
      mysql_close($link);
      return $row[0];
    }

    function send($name)
    {
      $name = str_replace("/", "\\", $name);
      if(!file_exists($name)){
        echo('Nie ma takiego pliku na serwerze!');
        return;
      }

      if(($fileName = strrchr($name, "\\")) == false){
        echo('Nie ma takiego pliku na serwerze!');
        return;
      }
      $fileName = substr($fileName, 1, strlen($fileName));
      $fd = fopen($name,"r");
      $size = filesize($name);
      $contents = fread($fd, filesize($name));

      fclose($fd);

      header("Content-Type: application/octet-stream");
      header("Content-Length: $size;");
      header("Content-Disposition: attachment; filename=$fileName");

      echo $contents;
    }
    if(isSet($_GET['id'])){
      if(($name = getFileName($_GET['id'])) === false){
        echo('Nie ma takiego pliku na serwerze!');
      }
      else{
        send($name);
      }
    }
    else{
      echo('Nie ma takiego pliku na serwerze!');
    }
    ?>




    //Skrypt generujący ranking plików ranking.php

    <?PHP

    function printRank()
    {
      if(!$link = mysql_connect("localhost", "login", "hasło")){
        //echo("Problem z połączeniem z bazą danych.");
        return;
      }
      if(!mysql_select_db("nazwa_bazy")){
        //echo("Problem z połączeniem z bazą danych.");
        mysql_close($link);
        return;
      }

      $query = "SELECT NAME, COUNTER FROM FILES ORDER BY COUNTER DESC";

      if(!$result = mysql_query($query)){
        //echo("Problem z bazą danych: odrzucone zapytanie");
        mysql_close($link);
        return;
      }
      echo("<TABLE border=\"0\" cellspacing=\"0\">");
      echo("<TR><TD COLSPAN=\"2\" ALIGN=\"center\" BGCOLOR=\"yellow\">");
      echo("Ranking plików</TD></TR>");

      $flag = true;
      while($row = mysql_fetch_array($result)){
        if($flag) $color = "#FFC0C0";
        else $color = "#FF8080";

        $flag = !$flag;

        echo("<TR><TD align=\"center\" BGCOLOR=\"$color\">");

        $name = $row[0];
        $name = strrchr($name, "/");
        $name = substr($name, 1, strlen($name));

        echo($name);
        echo("</TD><TD width=\"50\" align=\"center\" BGCOLOR=\"$color\">");
        echo($row[1]);
        echo("</TD></TR>");
      }
      echo("</TABLE>");

      mysql_close($link);
    }
    printRank();
    ?>



    //Kod SQL dla tego skryptu

    CREATE TABLE FILES(
    ID INTEGER UNIQUE NOT NULL,
    NAME VARCHAR(255) NOT NULL,
    COUNTER INTEGER NOT NULL
    )




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    No nie wiem czy działa bo mi nie chodzi. Porze o sprawdzenie i danie działającego skryptu.
    autor: robiwielki | 13035 | 2014-11-11 22:59:15


    No nie wiem, nam działa, proszę o sprawdzenie przepisanego kodu i postępowaniu według instrukcji. ;]
    autor: divix | 13111 | 2018-06-09 21:34:34


      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors