Original geschrieben von asp2php 
er kann aber auch die Zeile 42 löschen, funz genauso gut
	er kann aber auch die Zeile 42 löschen, funz genauso gut
// Pseudocode
a/ Überprüfung, ob User member ist, wenn ja weiter mit b/, wenn nein weiter mit z/
b/ entsprechende header senden
c/ PDF-Datei anhand para-Auswertung mit fopen öffen und den Inhalt auslesen und wieder schliessen
d/ Inhalt per echo ausgeben
e/ Script beenden
z/ Beschimpfung oder sonst was ausgeben 
<?php
/**
* sendfile.php
*
* Senden von Dateien aus geschützten Verzeichnissen
*
* Aufruf: sendfile.php?filename.ext
*/
// Authentifizierung prüfen - wie man´s will...
//require("auth.inc.php");
 
// Pfad zum Verzeichnis mit unseren Dateien
$strFileDir="/home/adresse.de/www/secure/";  // Slash am Ende nicht vergessen
$strRequestedFile = basename($_GET["file"]); // SICHERHEIT: basename ist wichtig
// Wurde eine file übergeben?
if ($strRequestedFile) {    
    $strFilePath = $strFileDir.$strRequestedFile;
    
    // existiert die Datei?
    if (file_exists($strFilePath)) {        
        $intFilesize = filesize($strFilePath);
        
        /*
        * Header senden, kein Caching
        */
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT");
        header("Cache-Control: no-cache");
        header("Pragma: no-cache");
        header("Cache-Control: post-check=0, pre-check=0");
        header("Content-Type: application/pdf");
        header("Content-Length: $intFilesize");
        header("Content-Disposition: attachment; filename=\"$strRequestedFile\"");
        header("Content-Description: PHP Generated Data");
        /**
        * Ausgabe der Datei in Blöcken von 4KB
        */
        $fd = fopen ($strFilePath, "rb");  // "rb" statt nur "r" ist für Windows-Systeme wichtig!!!
        while(!feof($fd)) {
               echo fread($fd,4096);
           }
        fclose ($fd);
        
    } else {
        // Datei wurde nicht gefunden
        echo "Die Datei ".$strRequestedFile." wurde leider nicht gefunden.";
    }
} else {
  // Es wurde keine id übergeben
  echo "Es wurde leider keine Datei übergeben.";
}
?>
Comment