• 技术文章 >后端开发 >PHP问题

    PHP如何实现文件下载?

    GuanhuiGuanhui2020-07-22 16:50:01原创1402

    php入门到就业线上直播课:进入学习

    PHP如何实现文件下载?

    首先使用“header”函数指定下载文件类型,下载文件的描述以及下载文件的大小;接着使用函数“readfile”将文件内容读取出来并直接输出;最后结束脚本即可。

    示例代码

    <?php
    $filename = "test.gif";
    header('Content-Type:image/gif'); //指定下载文件类型
    header('Content-Disposition: attachment; filename="'.$filename.'"'); //指定下载文件的描述
    header('Content-Length:'.filesize($filename)); //指定下载文件的大小
    
    //将文件内容读取出来并直接输出,以便下载
    readfile($filename);
    ?>

    中文名

    <?php 
    header("Content-type:text/html;charset=utf-8"); 
    // $file_name="cookie.jpg"; 
    $file_name="圣诞狂欢.jpg"; 
    //用以解决中文不能显示出来的问题 
    $file_name=iconv("utf-8","gb2312",$file_name); 
    $file_sub_path=$_SERVER['DOCUMENT_ROOT']."marcofly/phpstudy/down/down/"; 
    $file_path=$file_sub_path.$file_name; 
    //首先要判断给定的文件存在与否 
    if(!file_exists($file_path)){ 
    echo "没有该文件文件"; 
    return ; 
    } 
    $fp=fopen($file_path,"r"); 
    $file_size=filesize($file_path); 
    //下载文件需要用到的头 
    Header("Content-type: application/octet-stream"); 
    Header("Accept-Ranges: bytes"); 
    Header("Accept-Length:".$file_size); 
    Header("Content-Disposition: attachment; filename=".$file_name); 
    $buffer=1024; 
    $file_count=0; 
    //向浏览器返回数据 
    while(!feof($fp) && $file_count<$file_size){ 
    $file_con=fread($fp,$buffer); 
    $file_count+=$buffer; 
    echo $file_con; 
    } 
    fclose($fp); 
    ?>

    推荐教程:《PHP

    以上就是PHP如何实现文件下载?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php
    上一篇:Python 与 PHP 区别? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP如何将数组转换成JSON?• iis怎么配置phpmyadmin?• PHP中substr中文乱码?• PHP中curl如何设置header?• Python 与 PHP 区别?
    1/1

    PHP中文网