PHP - 向用户发送文件

标签 php

我在磁盘上有一个 pdf 文件,当他们向 php 脚本发出请求时我需要将其发送给用户,执行此操作的最佳方法是什么?

最佳答案

假设它在服务器上:

readfile() — Outputs a file

注意:只是写

readfile($file);

不会工作。这将使客户端永远等待响应。您需要定义 header 以使其按预期方式工作。 See this example from the official PHP manual :

<?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, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

关于PHP - 向用户发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882472/

相关文章:

php - 如果页面刷新如何取消保存

php - Html 外文字符编码

php - HTML - 如何防止用户编辑表单的值?

php - 检查数据库中的值(登录)

php - 文件信息 PHP 错误 - 找不到类 'finfo' 但模块在 php.ini 中

php - Jquery 加载屏幕以覆盖通过 PHP 的大型 mysql 查询?

php - 下拉 24 小时选项值和 12 小时显示

php - 如何在第三个变量 mysql 查询中对两个子查询计数求和?

php - 奇怪的时区问题 EDT/EST

php - 使用数组查询数据库