readfile()
是 PHP 中的一个内置函数,用于从服务器读取文件并将其作为字符串输出。这在需要将文件内容传输到客户端时非常有用,例如在文件下载时。要使用 readfile()
函数传输文件,请按照以下步骤操作:
- 确保文件路径正确:首先,确保提供给
readfile()
的文件路径是正确的。如果文件位于当前目录中,只需提供文件名即可。如果文件位于其他目录中,请提供相对或绝对路径。
$file = 'path/to/your/file.txt';
- 检查文件是否存在:在尝试读取文件之前,检查文件是否存在。如果不存在,可以显示错误消息或采取其他措施。
if (!file_exists($file)) { echo "文件不存在: " . $file; exit(); }
- 使用
readfile()
函数读取文件:调用readfile()
函数并将文件路径作为参数传递。该函数将直接将文件内容输出到客户端,而无需将其存储在变量中。
readfile($file);
4.(可选)设置文件下载时的文件名:如果希望在客户端下载时使用自定义文件名,可以通过设置 Content-Disposition
响应头来指定。
$custom_filename = 'new_file_name.txt'; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $custom_filename . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit();
将以上代码片段组合在一起,即可使用 readfile()
函数在 PHP 中传输文件。