php header()函数实现文件下载的实例

2022-10-13实例代码
125

虽然php 中的header()函数 下载文件不支持断点续传功能但有时我们还真需要此功能,如我们下载txt,图片文件时如果直接是个连接估计是直接打开了而不是下载了,那么我们可如何实现下载呢。
/**
* 文件下载
**/
header("Content-type:text/html;charset=utf-8");
download('web/genban.txt', 'txt文件下载');
function download($file, $down_name){
$suffix = substr($file,strrpos($file,'.')); //获取文件后缀
$down_name = $down_name.$suffix; //新文件名,就是下载后的名字
//判断给定的文件存在与否
if(!file_exists($file)){
die("您要下载的文件已不存在,可能是被删除");
}
$fp = fopen($file,"r");
$file_size = filesize($file);
//下载文件需要用到的头
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$file_size);
header("Content-Disposition: attachment; filename=".$down_name);
$buffer = 1024;
$file_count = 0;
//向浏览器返回数据
while(!feof($fp) && $file_count < $file_size){
$file_con = fread($fp,$buffer);
$file_count = $buffer;
echo $file_con;
}
fclose($fp);
}
?>
 
The End
php 函数 header

相关推荐

php数据处理:数组根据某字段进行分组
php数据处理:数组根据某字段进行分组,实例代码如下: /** * @description:根据数据 * @param {dataArr:需要分组的数据;keyStr:分组依据} * @return: */ protected function dataGroup(array $dataArr,string $keyStr) :array { $newArr=[]; foreach ($data...
2025-06-12 实例代码
188

php将base64编码转换为图片保存至指定位置
$base64为图片的编码字符串 preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result);$type = $result[2]; //获取图片的类型jpg png等$name = ”xxxx".".$type; //图片重命名$savepath = ‘C:/'.$name; //图片保存目录file_put_contents($savepat...
2024-12-28 实例代码
152

网页flex布局实现内容区域高度自适应实例代码
(1)在主容器container中创建header、main、footer等容器(div),display:flex开启flex布局,设置主容器的大小是很有必要的,flex布局将根据容器的大小来分配内部子元素的大小,所以配置了height: 100vh;width: 100%; (2)通过flex-direction: column改变容...
2024-11-15 实例代码
177

php使用curl模拟post传输文件的实例代码
文件发送的代码如下: ?$url = 'http://127.0.0.1/fujian/jieshou.php'; // 目标URL$filePath2 = iconv("utf-8","gb2312",'D:/MYOA/webroot/fujian/1/副本.txt'); // 文件路$filePath1 = iconv("utf-8","gb2312",'D:/MYOA/webroot/fujian/1/1.txt'); // 文件...
2024-11-01 实例代码
212

PHP图形验证码实例代码
PHP支持许多的函数,其中一些函数完全可以将字符串,制作为图片,将画布背景放上一些乱码,再挑选四个数字(你也可以添加字母,但是那样会比较花)。按照不同的角度放在画布上。具体代码如下: ?php//设置字符集header("Content-Type:text/html;charset=utf-8...
2024-10-29 实例代码
176

php获取数组中某一个元素的值,并用逗号分隔
php获取数组中某一个元素的值,并用逗号分隔 //打印方法function pp($ay){echo "pre";print_r($ay);}//定义数组$user_list=array('0'=['id'=1,'name'='刘德华'],'1'=['id'=2,'name'='张学友'],'2'=['id'=3,'name'='黎明'],'3'=['id'=4,'name'='郭富城']);pp(...
2024-10-23 实例代码
193