Das PHP-Skript musst/sollst du so lassen wie es ist 
Mit $_GET[] setzt du keine Variable, sondern liest einen von einer anderen Seite mitgegebenen Wert aus!
So rufst du es ja auf:
Code:
<a href="download.php?download=Dateiname&file=pfadzurdatei">PDF Download</a>
Und das Skript selber heißt so:
Code:
<?php
$download = $_GET['download'];
$file = $_GET['file'];
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$download\"");
readfile($file);
?>
Im Prinzip macht das Skript das hier:
Code:
<a href="download.php?download=Dateiname&file=pfadzurdatei">PDF Download</a>
↓ | ↓ |
Variable "download" | Variable "file" |
↓ ↓
Wert der Variable "download" Wert der Variable "file"
↑ ↑____________________________________________________________________________________
|______________________________________________________________________________________________________|____
| |
<?php | ↓
$download = $_GET['download']; ← Liest in die Variable "$download" den Wert der übergebenen Variable ↓ "download" ein
$file = $_GET['file']; ← Liest in die Variable "$file" den Wert der übergebenen Variable "file" ein
header("Content-Type: application/octet-stream"); ← Setzt den Content-Type, damit der Browser weis das er die Datei dowloaden soll
header("Content-Disposition: attachment; filename=\"$download\""); ← Sagt dem Browser welchen Dateinamen der Download haben soll
readfile($file);
?>
Ändere NUR die grün markierten Sachen ab!
Grüße,
infernalshade
EDIT: Falls der Firefox die download.php runterladen will > Browser-Cache löschen!
Lesezeichen