Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyświetl plik przechowywany w bazie danych za pomocą php w przeglądarce

Zgodnie z Twoim kodem, $row[1] to „nazwa pliku”. Nagłówek Content type powinien zawierać content type zamiast tego, np. typ MIME pliku, na przykład:

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

Jeśli chcesz dodać nazwę pliku:

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

Upewnij się, że $data to zawartość pliku, coś, co można pobrać z readfile() na przykład.

Przeczytaj więcej w instrukcji:http://php.net/manual/en/function .readfile.php

Należy pamiętać, że chociaż pliki PDF i obrazy można łatwo przeglądać w przeglądarce, myślę, że Excel potrzebuje trochę ad hoc wtyczka do tego.

Pełniejszy przykład prosto z podręcznika , aby uzyskać dokładniejszy pomysł (nie wszystkie te nagłówki są potrzebne, a inne należy zmienić zgodnie z kodem):

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. używanie zmiennej środowiskowej do lokalnej konfiguracji sekwencjonowania

  2. Jak pobrać rekordy dopasowania z wielu tabel w MySQL?

  3. Automatyczne inkrementowanie id z sekwencją w MySQL

  4. Suma czasu trwania według zmiany lokalizacji

  5. Czy Android może łączyć się bezpośrednio z MySQL bez PHP?