sql >> Database >  >> RDS >> Mysql

de browserprompt gebruiken om een ​​bestand te downloaden

De PHP-documentatie geeft een mooi voorbeeld:

<?php
$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');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

BEWERKEN (Reactie op opmerking, uitleg)

header('Content-Description: File Transfer');

Niet weergeven in de browser, maar het bestand overzetten.

header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');

Bestand is een binair bestand.
Browsers downloaden over het algemeen binaire bestanden, tenzij ze deze kunnen weergeven.

header('Content-Disposition: attachment; filename='.basename($file));

Zorg ervoor dat het downloaddialoogvenster de juiste bestandsnaam toont.
Opmerking:u kunt elke bestandsnaam gebruiken.

header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');

Bestand mag niet door de browser in de cache worden opgeslagen.
Cache kan problemen veroorzaken bij dynamische inhoud.

header('Content-Length: ' . filesize($file));

Stuur de juiste bestandsgrootte naar de browser,
anders kan de browser de overdrachtstijd niet inschatten.

ob_clean();
flush();

Zorg ervoor dat de headers naar de browser worden gestuurd voordat het downloaden begint.

readfile($file);

Stuur het bestand naar de browser.

exit;

Klaar :)




  1. Hoe herken ik een tekstbestand van mijn Linux-pc via django-code zonder de extensie en ook de bestandsgrootte te controleren?

  2. SQL Server:VERWIJDEREN vs TRUNCATE

  3. Python converteert het resultaat van de mysql-query naar json

  4. MySQL:een grote tafel opsplitsen in partities of aparte tabellen?