Datei auf Website zum Download anbieten (Bilder, Programme, Videos,...)

2 Antworten

Du lädst bspw. ne Excel-Datei in dein Home-Verzeichnis. Dann schreibst du einfach:

<a href="exceldatei.xls">Hier klicken</a>

Das "Datei Speichern-Fenster" geht dann auf, falls man es in dem Browser-Einstellungen nicht abgewählt hat. Bei mir wird bspw. alles auf dem Desktop gespeichert, was ich downloade. Aber falls das nicht der Fall ist, geht dieses Fenster dann auf und du kannst den Pfad wählen und halt speichern.

php download script :

$pathtofile = "/var/file/"; // ordner auf server

// die sachen per POST bzw GET , holen

$oldname = "soheisstdiedateibeimdownload.dat";

$nameoffile = "soliegtsieaufdemserver.dat";

// ab hier gehts los .

$name = $pathtofile.$nameoffile;

$fd = fopen($name, 'rb');

if($fd == false) die("ERROR: File not found.");

// send the right headers

header("Cache-Control: ");

// leave blank to avoid IE errors

header("Pragma: ");

// leave blank to avoid IE errors

header("Content-type: application/octet-stream");

header("Content-Disposition: attachment; filename=\"" . $oldname . "\"");

header("Content-length:".(string)(filesize($name)));

sleep(1);

ob_flush();

flush();

while(!feof($fd)) { $buffer = fread($fd, 2048); print $buffer; }

fclose ($fd);


RakonDark  07.06.2020, 11:06

btw . immer auf injections beim path gucken . es könnte immer möglich sein mit .. ein ordner höher zu kommen , oder oder oder ... filename darf wirklich nur aus einem filenamen bestehen und kein pfad haben .

0