PHP实现文件下载

PHP实现文件下载,第1张

2种方法

1直接做个超链接,地址文件的地址

<a href="文件地址">下载</a>

2流输出

<?php

$file=fopen('文件地址',"r")

header("Content-Type: application/octet-stream")

header("Accept-Ranges: bytes")

header("Accept-Length: ".filesize('文件地址'))

header("Content-Disposition: attachment filename=文件名称")

echo fread($file,filesize('文件地址'))

fclose($file)

?>

推荐第二种

因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开

而第二种方法是直接输出的文件流,不存在上述问题

            // 下载文件  文件用绝对路径

            ob_clean()

            header('Pragma: public')

            header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT')

            header('Cache-Control:no-store, no-cache, must-revalidate')

            header('Cache-Control:pre-check=0, post-check=0, max-age=0')

            header('Content-Transfer-Encoding:binary')

            header('Content-Encoding:none')

            header('Content-type:multipart/form-data')

            header('Content-Disposition:attachment filename="'.$filename.'"') //设置下载的默认文件名

            header('Content-length:'. filesize($dfile))  //要下载的文件

            $fp = fopen($dfile, 'r')

            while(connection_status() == 0 && $buf = @fread($fp, 8192)){

                echo $buf

            }

            fclose($fp)

            @unlink($dfile)

            @flush()

            @ob_flush()

            exit()


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/258175.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存