sql >> Database >  >> RDS >> Mysql

Bekijk het bestand dat is opgeslagen in de database met behulp van php in de browser

Volgens uw code, $row[1] is "de bestandsnaam". De koptekst van het inhoudstype moet het inhoudstype bevatten in plaats daarvan, d.w.z. het bestands-mime-type, bijvoorbeeld:

header('Content-type: application/pdf');

Als u een bestandsnaam wilt toevoegen:

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$row[1]);
print $data;

Zorg ervoor dat $data is de inhoud van het bestand, iets dat je kunt halen uit readfile() bijvoorbeeld.

Lees meer over de handleiding:http://php.net/manual/en/function .readfile.php

Houd er rekening mee dat hoewel PDF en afbeeldingen gemakkelijk door een browser kunnen worden bekeken, ik denk dat Excel wat ad hoc nodig heeft plug-in daarvoor.

Een completer voorbeeld rechtstreeks uit de handleiding , om je een grondiger idee te geven (niet al die headers zijn nodig, en je zou andere moeten aanpassen aan je code):

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;



  1. JSON_VALUE() Functie in Oracle

  2. Hoe gegevens uit een mysql-database te halen met javascript?

  3. syntaxisfout met update-query bij join met een tabel

  4. Resultaat van mysql-query van variabele afdrukken