sql >> Databáze >  >> RDS >> Mysql

Zobrazit soubor uložený v databázi pomocí php v prohlížeči

Podle vašeho kódu $row[1] je "název souboru". Záhlaví Typ obsahu by mělo obsahovat typ obsahu místo toho, tj. typ mime souboru, například:

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

Pokud chcete přidat název souboru:

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

Ujistěte se, že $data je obsah souboru, něco, co můžete převzít z readfile() například.

Přečtěte si více v příručce:http://php.net/manual/en/function .readfile.php

Mějte na paměti, že zatímco PDF a obrázky lze snadno zobrazit v prohlížeči, myslím, že Excel potřebuje nějaké ad hoc plugin pro to.

Úplnější příklad přímo z příručky , abyste získali důkladnější představu (ne všechna tato záhlaví jsou nezbytná a ostatní byste měli změnit podle svého kódu):

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. Doporučené postupy pro měkké odstranění (PHP/MySQL)

  2. Jak je implementován časový limit dotazu JDBC společnosti Oracle?

  3. Jak funguje pozastavení transakcí v MySQL?

  4. postup v mysql