Loading:


Pobieranie plików z listy

Skrypt pozwala na udostępnienie plików do pobrania bez zdradzania ich lokalizacji.



Napisz Artyku³

Listing


//Plik HTML ***************************************

<HTML>
<HEAD>
<TITLE>Pobieranie plików</TITLE>
</HEAD>
<BODY>
<A HREF="http://127.0.0.1/download.php?name=plik1.zip">
Pierwszy plik
</A><BR>
<A HREF="http://127.0.0.1/download.php?name=plik2.zip">
Drugi plik
</A><BR>
<A HREF="http://127.0.0.1/download.php?name=plik3.zip">
Trzeci plik
</A><BR>
<A HREF="http://127.0.0.1/download.php?name=plik4.zip">
Czwarty plik
</A><BR>
<A HREF="http://127.0.0.1/download.php?name=plik5.zip">
Piąty plik
</A><BR>
</BODY>
</HTML>


//Plik PHP **********************************

$filesPath = "/pliki/";
function securityCheck($name)
{
  $wyr = "^[a-z0-9_-]+(\.[a-z0-9_-]+)*$";
  return eregi($wyr, $name);
}
function send($fileName, $filePath)
{
  if(!file_exists($filePath.$fileName)){
    echo('Nie ma takiego pliku na serwerze!');
    return;
  }
  $fd = fopen($filePath.$fileName,"r");
  $size = filesize($filePath.$fileName);
  $contents = fread($fd, filesize($filePath.$fileName));

  fclose($fd);

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

  echo $contents;
}
if(isSet($_GET['name'])){
  if(!securityCheck($_GET['name'])){
    echo('Nie ma takiego pliku na serwerze!');
  }
  else{
    send($_GET['name'], $filesPath);
  }
}
else{
  echo('Nie ma takiego pliku na serwerze!');
}
?>


//Kod Funkcji ****************************************

function securityCheck($name)
{
  $pliki = array(
    1 => "plik1.zip",
    2 => "plik2.zip");

  if(array_search($name, $GLOBALS['pliki'])){
    return true;
  }
  else{
    return false;
  }
}
 




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
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-2020 v.1.5 | design: diviXdesign & rainbowcolors