Hét vraag- en antwoordplatform van Nederland

Hoe kan je met php ervoor zorgen dat een plaatje gedownload wordt, in plaats van in de browser te worden getoond?

Sommige bestanden kan je browser ook laten zien, maar ik wil ze graag ter download aan bieden zonder dat mensen zelf rechtermuisknop moeten gebruiken om zo dingen te downloaden.
Ik heb al even zitten zoeken maar ik kan de juiste trefwoorden niet vinden

Verwijderde gebruiker
15 jaar geleden
Verwijderde gebruiker
15 jaar geleden
Negeer mijn antwoord maar. (Ik verwijder hem ook, want hij is niet juist).

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Antwoorden (2)

Stuur daarvoor de juiste headers mee. Bijvoorbeeld:


// Send the correct headers to force a download
header('Content-type: image/png');
header('Content-Disposition: attachment; filename="image.png"');

// Send the image file's content
readfile('image.png');

?>
(Lees meer...)
Verwijderde gebruiker
15 jaar geleden
In de PHP-handleiding over readfile staat een stuk voorbeeldcode wat precies doet wat jij wil:

$file = 'monkey.gif';

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
(Lees meer...)
Verwijderde gebruiker
15 jaar geleden
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image