巩义网站建设,巩义网站制作,巩义做网站-全栈网络

网站制作中如何使用php实现文件的加密下载?
当前位置:首页 > 建站知识 > 网站代码 >

网站制作中如何使用php实现文件的加密下载?

时间: 2019-11-15 分类: 网站代码 浏览次数:

在网站制作中,经常使用到文件的点击下载功能,而为了保证文件的安全性,又不能让浏览者直接看到文件的真实地址和名称,这个时候就需要使用php对文件进行名称加密并实现功能,...


在网站制作中,经常使用到文件的点击下载功能,而为了保证文件的安全性,又不能让浏览者直接看到文件的真实地址和名称,这个时候就需要使用php对文件进行名称加密并实现功能,具体如何实现呢?

1.在对应的网站html页面上添加下载链接,并将文件链接写成以md5加密格式传参形式的地址,具体代码如下:

<a href="download.php?f=c4ca4238a0b923820dcc509a6f75849b">下载图片</a>
<a href="download.php?f=c81e728d9d4c2f636f067f89cc14862c">下载文件压缩包(加密文件名,隐藏真实地址)</a>

2.创建download.php页面,获取html传递过来的参数

//1.获取地址栏取到的地址栏参数
$f=$_GET['f'];

3.使用加密字符串重新定义文件名,并与真实文件通过数组形式进行一一对应,代码如下:

$arr = array(
'c4ca4238a0b923820dcc509a6f75849b' => array('./1.jpg','图片1.jpg'), 
'c81e728d9d4c2f636f067f89cc14862c' => array('./2.rar','压缩文件1.rar'), 
);

3.只读方式(rb)打开文件,代码如下:
$handle=fopen($arr[$f][0],'rb');

4.告诉浏览器文件类型为八位的二进制数据流,代码如下:
header("Content-type: application/octet-stream");
 
5.告诉浏览器数据的处理方式,以附件的方式保存,并转换字符集保证识别中文
header("Content-disposition: attachment; filename=".iconv('utf-8', 'gbk', $arr[$f][1]));
 
6.循环从文件资源中读取数据,代码如下:
while ($str=fread($handle,1024)) {
     echo $str;//发送到客户端
}

7.通过以上代码,就可完成这个功能,全部代码如下图所示
使用php实现文件的加密下载

通过以上php代码编写完成,也就完成了在网站制作中使用php对下载文件进行重新加密命名并下载的功能,当然以上代码只是对这一个过程进行了简化,除此之外还包括文件的断点续传等,这里就不再列举,这个功能你学会了吗?
 
本文关键词: php 文件下载 未经允许不得转载:郑州网站建设|郑州网站制作|荥阳网站建设|巩义网站建设|网站优化-全栈网络



说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
Copyright © 2017-2020 版权所有:全栈网络工作室 备案号:豫ICP备2023004016号 HTML网站地图
郑州网站制作|郑州做网站|巩义网站制作|荥阳做网站|巩义做网站-全栈网络