ThinkPHP5.0(九)PHP下载指定服务器目录下的文件(word文件),打包下载多个文件

本文介绍了在ThinkPHP5.0框架中如何下载指定服务器目录下的单个文件,如.docx,以及如何打包下载多个文件。通过PHP的Directory和Filesystem函数对文件路径和权限进行判断,利用HTTP Header设置实现文件下载。同时,文章讨论了fread函数在下载大文件时的作用,并提供相关PHP函数和HTTP Header的参考资料。
摘要由CSDN通过智能技术生成

需求

一般在ThinkPHP5.0中我们会上传文件到服务器的指定目录下(一般为public下的upload文件中),以达到必要时候对其下载的目的;
但是我们已知文件在服务器的路径怎么对其下载?
接下来一起详细探讨一下,下载文件的过程。

详细步骤:

路径: ../public/uploadDir/ 这个是.docx文件的存储路径,.docx文件是我们要进行下载的的目标文件;

对文件下载权限,路径进行基础判断:
其中:
basename:返回路径中的文件名部分。
is_dir:判断指定的文件名是否是一个目录。
scandir:函数返回指定目录中的文件和目录的数组。
注意空的dir包含两个目录当前目录. 和 上级目录 ..

    public function fileReader()
    {
        /**  查看是否有文件下载权限 */
        $downloadPower=getDownloadPower();//获得下载权限
        if($downloadPower==false)return $this->error('文件暂不能下载,请联系管理员!');
       
        $fileLocation = '../public/uploadDir/';  //文件在服务器固定路径
        $UpDir= basename($fileLocation); //匹配路径中文件夹名称

        /**  查看路径下是否存在存放文件的文件夹 */
       
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值