Downloadknop maken

Status
Niet open voor verdere reacties.

Eibers

Gebruiker
Lid geworden
11 dec 2014
Berichten
82
Wat ik niet kan vinden:
Hoe maak een knop (met bijbehorend script) op de website, waarmee gebruikers een word- of pdf-bestand kunnen downloaden van mijn site?
Ik gebruik voor de site html / php als programmeertaal.
 
Zo maak je een geforceerde download:
PHP:
<form method="POST" action="">
 <button type="button" name="download">Downloaden</button>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$file = 'notule.pdf';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
}
?>

Maar het kan nog makkelijker:
Code:
 <a href="notule.pdf" download="notule.pdf">Download</a>
Dit werkt echter niet in Internet Explorer en Opera Mini.


De eerste PHP-implementatie heeft als voordeel dat je ook alles buiten je webroot kan downloaden (wat normaal niet publiekelijk staat).
Eigenlijk ideaal voor vertrouwelijke informatie, zoals facturen, notules, cv's etc die je kan downloaden na bijvoorbeeld het authenticeren.

De laatste HTML-implementatie werkt alleen als het bestand ook echt openbaar staat.
 
Laatst bewerkt:
Werkt prima!
Bedankt.
Soms is het leven zo eenvoudig ...
 
De laatste HTML-implementatie werkt alleen als het bestand ook echt openbaar staat.
Hou er rekening mee dat als je <a href="..."> gebruikt de inhoud van het (Word of PDF) bestand door Google wordt geindexeerd.
Dit werkt in je voordeel als je dit werkelijk wilt (seo). Gebruik de php oplossing als je dit niet wilt (bijvoorbeeld als bestanden regelmatig veranderen of worden verwijderd).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan