向用户发送文件
用户与 PHP 脚本交互时,可能会遇到需要传输文件的场景,例如 PDF,发送到客户端的浏览器。要实现此目的,适当的方法取决于文件的存储位置。
服务器端文件
假设文件驻留在服务器上,首选方法是使用 readfile() 函数。然而,仅仅执行 readfile($file) 是不够的。脚本必须包含适当的标头,以使客户端能够成功接收文件。
请参阅官方 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, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; } ?>
以上是如何从 PHP 服务器向用户发送文件?的详细内容。更多信息请关注PHP中文网其他相关文章!