当前位置: 首页> 最新文章列表> PHP文件下载完整指南:readfile、header及cURL示例

PHP文件下载完整指南:readfile、header及cURL示例

M66 2025-10-28

PHP下载文件的几种方法

在PHP中下载文件有多种方式,根据不同需求可以选择最合适的方法。常用的方法包括:使用readfile()函数直接下载、使用header()函数强制下载,以及使用cURL库下载远程文件。

使用readfile()直接下载文件

最简单的下载方式是使用PHP内置的readfile()函数:

<?php
$file = 'file.txt';

if (file_exists($file)) {
    readfile($file);
} else {
    echo 'File not found.';
}
?>

使用header()强制浏览器下载

如果希望浏览器下载文件而不是直接打开,可以通过header()设置HTTP头实现:

<?php
$file = 'file.txt';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Length: ' . filesize($file));
    readfile($file);
} else {
    echo 'File not found.';
}
?>

使用cURL下载远程文件

当需要下载远程文件或执行更复杂操作时,可以使用cURL库:

<?php
$url = 'https://example.com/file.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);

file_put_contents('file.txt', $data);
?>

以上就是PHP实现文件下载的几种常用方法,无论是本地文件下载还是远程文件获取,都可以参考这些示例轻松实现。