Het PHP script

Voordat we nu verder gaan, ga ik ervan uit dat je al een op sessies gebaseerd inlog systeem hebt op je website en dat er een sessie variable $_SESSION['userID'] wordt aangemaakt bij het inloggen.

Dan gaan we nu het volgende PHP bestand aanmaken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
//Deze regel is belangrijk! Verwijder deze regel niet, anders werkt het downloaden in IE niet goed meer.
session_cache_limiter('private');

error_reporting(E_ALL);

if(!isset($_SESSION)){
    session_start();
}


if(!isset($_SESSION['userID'])){
    echo "Niet ingelogd!";
    exit();
}


if(!isset($_REQUEST['uri']) || empty($_REQUEST['uri'])){
    echo "Geen url opgegeven!";
    exit();
}


$file = substr($_REQUEST['uri'], strrpos($_REQUEST['uri'],"/")+1);
$file = htmlspecialchars($file);

$folder = realpath('files');

if(!file_exists($folder.'/'.$file)){
    echo "Bestand bestaat niet!";
    exit();
}


$mime = mime_content_type($folder.'/'.$file);


    header("Content-Type: ".$mime);
    header("Content-Length: ".filesize($folder.'/'.$file));
    header("Content-Disposition: attachement; filename=".$file);
    header("Content-Transfer-Encoding: binary");

    $fp = fopen($folder.'/'.$file,"r");
    fpassthru($fp);    
    fclose($fp);
?>


Dit bestand slaan we op als download.php in de ROOT map (in apache dus vaak /htdocs)

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Het afschermen van de map
  2. Het PHP script
  3. De laatste stap

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.