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

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

PHP документация дава добър пример:

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    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;
}
?>

РЕДАКТИРАНЕ (Отговор на коментар, обяснение)

header('Content-Description: File Transfer');

Не показвайте в браузъра, а прехвърлете файла.

header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');

Файлът е двоичен файл.
Браузърите обикновено изтеглят двоични файлове, освен ако не могат да ги покажат.

header('Content-Disposition: attachment; filename='.basename($file));

Накарайте диалоговия прозорец за изтегляне да показва правилното име на файл.
Забележка:Можете да използвате всяко име на файл.

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 низ Последен индекс на

  2. Намерете Long/Lat вътре в многоъгълника с MySQL 5.6

  3. Изпълнение на подзаявка в клауза IN с големи таблици в заявка за изтриване

  4. MySQL зададе ID по подразбиране UUID

  5. Използване на ORDER BY и GROUP BY заедно