韩顺平php文件下载详解

在这里插入图片描述

<?php
//$file_name:文件名
//$file_sub_dir:下载的子路径
function down_dile($file_name,$file_sub_dir){
//文件比较古老,中文必须转码
$file_name=iconv("utf-8","gb2312",$file_name);//utf8转码成gb2312 函数iconv()
//使用绝对路径
$file_path=$_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;//$_SERVER['DOCUMENT_ROOT']获取文件的绝对路径
if(!file_exists($file_path)){//file_exists()判断文件是否存在
  echo"文件不存在"
  return;//返回给$file_path,不往下执行
}
$fp=fopen($file_path,"r");
//获取文件的大小
$file_size=filesize($file_path);//filesize文件的大小
if($file_size>30){
  echo"<script language="javascript">window.alert('文件过大')</script>";
  //向客户端回送数据
  $buffer=1024;
  //为了下载安全,做一个文件字节读取计数器
  $file_count=0;
  while(!feof($fp)&&($file_size-$file_count>0)){//feof//判断文件是否读完
    $file_data=fread($fp,$buffer);//fread 二进制文件读取
	//统计读了多少字节
	$file_count+=$buffer;//把读取的文件进行累加
	//把部分数据会送浏览器
	echo $file_data;
  
  }
  //关闭文件
  fclose($fp);
}
测试函数
down_file("顺平.jpg","/http/down/");
?>

猜你喜欢

转载自blog.csdn.net/weixin_43345480/article/details/89494621
今日推荐