Mysql
 sql >> база данни >  >> RDS >> Mysql

Преглед на файл, съхранен в базата данни, като използвате php в браузъра

Според вашия код, $row[1] е "името на файла". Заглавката тип съдържание трябва да съдържа типа съдържание вместо това, т.е. типа файл mime, например:

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

Ако искате да добавите име на файл:

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

Уверете се, че $data е съдържанието на файла, нещо, което можете да вземете от readfile() например.

Прочетете повече за ръководството:http://php.net/manual/en/function .readfile.php

Имайте предвид, че докато PDF и изображенията се виждат лесно от браузъра, мисля, че Excel се нуждае от малко ad hoc плъгин за това.

По-пълен пример направо от ръководството , за да получите по-задълбочена представа (не всички тези заглавки са необходими и трябва да промените други според кода си):

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. Как да поръчате MySQL VARCHAR резултати

  2. Как да актуализирате стойността на външния ключ в базата данни на mysql

  3. Как мога да задам стойността по подразбиране на колона с клеймо за дата на текущото време с миграции на Laravel?

  4. Как да извлечете дата и час от String Timestamp в java

  5. Ограничете броя на редовете, към които да се присъедините, в mysql