网站首页> 后端开发> PHP> php实现文件下载函数

php实现文件下载函数

时间:2022-09-11 09:39:36 阅读:675次 来源:互联网

php文件下载

<?php

/**
 * [download_file 下载文件的函数(大文件)]
 * @param  [type] $path_name [下载文件的路径]
 * @param  [type] $save_name [保存文件的名字]
 * @return [type]            [直接输出]
 */
function download_file($path_name, $save_name){
     ob_end_clean();//清除缓冲区
     $file = fopen($path_name, "rb") or die("Can not find file: $path_name\n");//只读的方式将文件打开,b表示强制二进制形式
     Header("Content-type: application/octet-stream");//通过这句代码客户端浏览器就能知道服务端返回的文件形式。
     Header("Content-Transfer-Encoding: binary");//Content-Transfer-Encoding: binary
     Header("Accept-Ranges: bytes");//告诉客户端浏览器返回的文件大小是按照字节进行计算的
     Header("Content-Length: ".filesize($path_name));//告诉浏览器返回的文件大小
     Header("Content-Disposition: attachment; filename=$save_name");//告诉浏览器返回的文件的名称。filename=\"$save_name\""
     while (!feof($file)) {//判断文件是否达到末尾
        echo fread($file, 32768);//每次读取32768字节的长度并输出
     }
     fclose($file);//关闭文件句柄
}


/**
 * [download_file2 下载文件函数二(小文件)]
 * @param  [type] $file_path [下载文件的路径]
 * @return [type]            [直接输出]
 */
function download_file2($file_path){
	if(!file_exists($file_path)){
		die('file does not exists!');	
	}
	$fileName = basename($file_path);//获取路径中的文件名
	header('Content-Disposition:attachment;filename='.$fileName);//告诉浏览器返回的文件名
	header('Content-Length:'.filesize($file_path));//告诉浏览器返回文件的大小
	readfile($file_path);
}

以上就是php实现文件下载函数的详细内容,更多关于php实现文件下载函数的资料请关注码农网其它相关文章!

本文地址:https://www.manongw.com/article/393.html

文章来源:转载于Git开源网,转载网址为https://www.gitoscc.com/?id=873

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。

相关文章
  • 本文主要介绍了深思 PHP 数组遍历的差异(array_diff 的实现)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-09-27 08:54
  • 本文主要介绍了PHP safe_mode开启对于PHP系统函数有什么影响的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 16:48
  • 本文主要介绍了PHP重载基础知识回顾的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-10 21:33
  • 本文主要介绍了PHP dirname功能及原理实例解析的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-29 09:17
  • 本文主要介绍了PHP 获取13位时间戳的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-09-27 10:33
  • 本文主要介绍了PHP 数组转字符串,与字符串转数组的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-09-27 10:43
  • 本文主要介绍了PHP如何通过date() 函数格式化显示时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-13 15:34
  • 本文主要介绍了PHP获取类私有属性的3种方法的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-10 21:47
  • 本文主要介绍了PHP延迟静态绑定使用方法实例解析的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-10 21:56
  • php生成随机数的方法非常简单,因为php内部为我们提供了现成的随机数方法。因此我们并不需要进行额外配置,只需要调用内部方法即可。php随机数函数如下:一、rand函数
    2022-11-08 11:23