<?php
  $filesPath = "./";

  /* funkcja sprawdzająca poprawność nazwy */
  function checkFileName($name)
  {
    if(strlen($name) > 100){
      return false;
    }
    $pliki = array(
     "plik1.zip", "plik2.zip", "plik3.zip"
    );
    return array_search($name, $pliki);
  }

  /* funkcja wysyłająca plik */
  function send($fileName, $filePath)
  {
    if(!file_exists($filePath.$fileName)){
      return false;
    }
    $fd = fopen($filePath.$fileName, "r");
    $size = filesize($filePath.$fileName);
    
    if($size == 0){
      $contents = '';
    }
    else{
      $contents = fread($fd, filesize($filePath.$fileName));
    }
    
    if($contents === false){
      return false;
    }

    fclose($fd);

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

    echo $contents;
    return true;
  }

  /* odczytanie danych i wywołanie funkcji */
  if(isset($_GET['name'])){
    if(checkFileName($_GET['name']) === false){
      include "nofile.html";
    }
    else{
      if(!send($_GET['name'], $filesPath)){
        include "nofile.html";
      }
    }
  }
  else{
    include "nofile.html";
  }
?>
