需求
一般在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); //匹配路径中文件夹名称
/** 查看路径下是否存在存放文件的文件夹 */
//固定目录下文件夹不存在
if (is_dir($UpDir)==false) return $this->error('文件不存在,请联系管
ThinkPHP5.0实现PHP文件下载与打包下载

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

被折叠的 条评论
为什么被折叠?



