当前位置:首页 > PHP开发 > PHP实例 > 正文内容

php实现文件下载函数

Git开源网2022-05-03 22:15:33PHP实例566

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);
}


扫描二维码推送至手机访问。

版权声明:本文由Git开源网_git开源代码资源网_git开源博客发布,如需转载请注明出处。

本文链接:http://gitoscc.com/?id=873

标签: PHPphp

相关文章

php判断电脑访问、手机访问的例子

用php去判断网页是电脑访问还是手机访问,然后再通过去加载不同的css来达到手机和电脑都可以正常的访问的效果。网站查了很多资料,终于找到了一个合适、比较好用的代码,也希望能给大家一个参考。<?php function ch...

免费清新的PHP MYSQL博客网址导航源码

免费清新的PHP MYSQL博客网址导航源码

免费清新的PHP MYSQL博客网址导航源码[Download]资源名称:免费清新的PHP MYSQL博客网址导航源码下载地址:https://www.lanzoui.com/i2648ni [/Download]...

PHP简单漂亮的分页类+实例

PHP简单漂亮的分页类+实例

文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。 index.php代码php版本5以上用这个:(使用 MySQLi)<?php   include_once("config...

php的mysql数据库操作类,很强大

php的mysql数据库操作类,很强大<?php   /*  * mysql数据库 DB类  * @package db  * ...

兄弟连新版PHP视频教程(共346讲)

兄弟连新版PHP视频教程(共346讲)大小:14.9G[Download]资源名称:兄弟连新版PHP视频教程(共346讲).rar文件大小:14.9G下载地址:https://pan.baidu.com/s/1pMtZFsv 密码:0idz...

PHP常用正则表达式大全

PHP常用正则表达式大全匹配数字"^\d+$"  //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$"  //正整数"^((-\d+)|(0+))$"  //非...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。