PHP中实现文件下载的几种方法-创新互联

方法一:

成都创新互联-专业网站定制、快速模板网站建设、高性价比临夏网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临夏网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临夏地区。费用合理售后完善,十余年实体公司更值得信赖。

    利用php中readfile函数读取文件内容到输出缓冲,然后再进行输出,效率比较低,文件必须通过PHP进行一次处理才能进行输出

方法二:

    这里和方法一是一样的,只不过采用file_get_contents函数来读取文件并输出

方法三:

    基于Apache的mod_xsendfile扩展,来进行文件的输出,文件可以不经过php读取到内存,这在处理大文件[超过1G的文件]方面是一个比较可取的选择,首先可以检查一下apache是否安装改扩展:

rpm -q mod_xsendfile    --检查是否安装该扩展 yum install mod_xsendfile --执行该命令安装该扩展 service httpd restart    --安装扩展之后重启服务 httpd -M|grep xsendfile  --检查apache是否成功加载该扩展

    安装完该扩展之后,如需要在配置文件中添加该选项:

XSendFile On  --开启该选项后,需要重启服务

然后编辑一个php文件,测试是否能正常输出:

 header('content-disposition:p_w_upload; filename=test.zip');  header("X-Sendfile:/var/www/test.zip");

注意文件的权限问题

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:PHP中实现文件下载的几种方法-创新互联
转载注明:http://scyanting.com/article/pciih.html