Loading:


    System pobierania plików PHP MySQL

    Skrypt wyświetla listę plików do pobrania.



    Napisz Artyku³

    Listing


    //Skrypt tworzący listę plików do pobrania na podstawie informacji zawartych w bazie danych 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 przeglądarki 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;
      }
      mysql_close($link);
      return $row[0];
    }

    function send($name)
    {
      if(!file_exists($name)){
        echo('Nie ma takiego pliku na serwerze!');
        return false;
      }

      if(($fileName = strrchr($name, "/")) == false){
        echo('Nie ma takiego pliku na serwerze!');
        return false;
      }
      $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!');
    }
    ?>


    //Kod SQL dla tego skryptu

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




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • 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