PHP采用HTTP/FTP方式下载文件
PHP下载文件似乎听上去简单,直接输出地址不就完了,其实要看场合,如果你什么也不要求,只是要求用户可以下载文件,那真像上面所说的,够简单。但如果你要考虑安全性的话,那就不同了,笔者介绍一种通过读取文件的方式下载文件,先来看通过HTTP下载的方式:
<?php $file_name = "test.rar"; $file_dir = "/downfile/201311/"; if (!file_exists($file_dir . $file_name)) { //判断文件是否存在 echo "对不起,你要下载的文件不存在!"; exit; } else { $file = fopen($file_dir . $file_name,"r"); //打开文件 // 输入文件头 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo fread($file,filesize($file_dir . $file_name)); fclose($file); exit;} ?>
如果是通过FTP的方式下载文件,则代码稍做些改变,如下示:
<?php $file_name= "test.rar"; $file_dir="/downfile/201311/"; $file=@ fopen($file_dir . $file_name,"r"); if(!$file){ echo "对不起,文件找不到"; }else{ Header("Content-type: application/octet-stream"); Header("Content-Disposition: attachment; filename=".$file_name); while (!feof ($file)){ echo fread($file,50000); } fclose ($file); } ?>
上面实际是用的PHP直接输出文件的方式下载文件,仅供参考。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐