<?php //演示下载一个图片 $file_name="SunSet.jpg"; $file_name=iconv("utf-8","gb2312",$file_name); //对文件名进行处理,因为php对中文支持不够友好【把utf-8 转为 gb2312】 //1.打开文件,先判断是否存在 if(!file_exists($file_name)){ echo "文件不存在"; return ; } $fp=fopen($file_name,"r");//以只读的方式打开文件 $file_size=filesize($file_name); echo "文件大小:".filesize($file_name); // 输入文件标签 header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header("Accept-Length: ".$file_size); header("Content-Disposition: attachment; filename=" . $file_name); //向客户端回送数据 $buffer=1024; //定义每次要读取的数据大小 //为了下载安全,可以做一个文件字节读取字数器 $file_count=0; while(!feof($fp)&&($file_size-$file_count>0))//feof用于判断文件是否结束 { $file_data=fread($fp,$buffer);//读取数据 $file_count+=$buffer; //统计读取了多少字节 //把部分数据回送给浏览器 echo $file_data; } //关闭文件 fclose($fp); ?>
时间: 2024-10-13 05:22:55