Home  >  Article  >  php教程  >  PHP安全下载文件的方法,

PHP安全下载文件的方法,

WBOY
WBOYOriginal
2016-06-13 08:41:551119browse

PHP安全下载文件的方法,

本文实例讲述了PHP安全下载文件的方法。分享给大家供大家参考,具体如下:

<&#63;php
header('Content-Type:text/html;Charset=utf-8');
define('ROOT_PATH', dirname(__FILE__));
/**
 * 下载文件
 * @param string $file_path 绝对路径
 */
function downFile($file_path) {
  //判断文件是否存在
  $file_path = iconv('utf-8', 'gb2312', $file_path); //对可能出现的中文名称进行转码
  if (!file_exists($file_path)) {
    exit('文件不存在!');
  }
  $file_name = basename($file_path); //获取文件名称
  $file_size = filesize($file_path); //获取文件大小
  $fp = fopen($file_path, 'r'); //以只读的方式打开文件
  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)) {
    $file_data = fread($fp, $buffer);
    $file_count += $buffer;
    echo $file_data;
  }
  fclose($fp); //关闭文件
}
downFile(ROOT_PATH . '/down/Sunset.jpg');
&#63;>

说明:文件名称可以接受中文名称。文件格式为 utf-8。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • php实现SAE上使用storage上传与下载文件的方法
  • PHP实现远程下载文件到本地
  • php实现图片文件与下载文件防盗链的方法
  • 兼容ie6浏览器的php下载文件代码分享
  • php下载文件源代码(强制任意文件格式下载)
  • PHP 下载文件时自动添加bom头的方法实例
  • 解析如何在PHP下载文件名中解决乱码的问题
  • 基于php下载文件的详解
  • php下载文件的代码示例
  • php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
  • php做下载文件的实现代码及文件名中乱码解决方法
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn