sql >> Databasteknik >  >> RDS >> Mysql

Visa fil lagrad i databasen med php i webbläsaren

Enligt din kod, $row[1] är "filnamnet". Rubriken Innehållstyp bör innehålla innehållstypen istället, det vill säga filmimetypen, till exempel:

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

Om du vill lägga till ett filnamn:

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

Se till att $data är innehållet i filen, något du kan ta från readfile() till exempel.

Läs mer om manualen:http://php.net/manual/en/function .readfile.php

Tänk på att även om PDF och bilder är lätta att se av en webbläsare, tror jag att Excel behöver lite ad hoc plugin för det.

Ett mer komplett exempel direkt från manualen , för att ge dig en mer grundlig idé (alla dessa rubriker är inte nödvändiga, och du bör ändra andra i enlighet med din kod):

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. MySQL - GROUP BY med ORDER DESC fungerar inte

  2. SQL NOT Operator för nybörjare

  3. Viktig PostgreSQL-övervakning - Del 1

  4. Installerar mysql2 gem på Mac os x Lion