微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP中强制下载文件

我有图像列表,我想要一个“下载”链接以及每个图像,以便用户可以下载图像.

有人可以指导我如何为PHP中的任何文件提供下载链接

EDIT

我想在点击下载链接显示下载面板我不想导航到要在浏览器上显示的图像

如果要强制下载,可以使用以下内容
<?PHP
    // Fetch the file info.
    $filePath = '/path/to/file/on/disk.jpg';

    if(file_exists($filePath)) {
        $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers.
        header("Cache-Control: private");
        header("Content-Type: application/stream");
        header("Content-Length: ".$fileSize);
        header("Content-disposition: attachment; filename=".$fileName);

        // Output file.
        readfile ($filePath);                   
        exit();
    }
    else {
        die('The provided file path is not valid.');
    }
?>

如果您只是使用普通链接链接到此脚本,则将下载该文件.

顺便提一下,上面的代码片段需要在页面的开头执行(在任何标题或HTML输出发生之前).如果您决定创建一个基于此的函数来下载任意文件,请注意 – 您需要确保您阻止目录遍历(realpath很方便),只允许从定义区域内下载等,如果您接受来自$_GET或$_POST的输入.

原文地址:https://www.jb51.cc/php/133647.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐