Home  >  Article  >  Backend Development  >  How to download files safely with PHP, _PHP tutorial

How to download files safely with PHP, _PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:54:26809browse

How to download files safely with PHP,

The example in this article describes the method of downloading files safely with PHP. Share it with everyone for your reference, the details are as follows:

<&#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;>

Note: The file name can accept Chinese names. The file format is utf-8.

Readers who are interested in more PHP related content can check out the special topics of this site: "php curl usage summary", "PHP operation and operator usage summary", "PHP network programming skills summary", "PHP basic syntax introductory tutorial" ", "Summary of PHP office document operation skills (including word, excel, access, ppt)", "Summary of PHP date and time usage", "Introduction to PHP object-oriented programming tutorial", "Summary of PHP string (string) usage" , "Introduction Tutorial on PHP MySQL Database Operation" and "Summary of Common PHP Database Operation Skills"

I hope this article will be helpful to everyone in PHP programming.

Articles you may be interested in:

  • How to use storage to upload and download files using PHP on SAE
  • PHP can implement remote downloading of files to the local machine
  • PHP method to prevent hotlinking of image files and downloaded files
  • Sharing of PHP download file code compatible with IE6 browser
  • php download file source code (forced download of any file format)
  • Example of method to automatically add BOM header when PHP downloads files
  • Analysis of how to solve the problem of garbled characters in PHP download file names
  • Detailed explanation of downloading files based on PHP
  • php download Code examples of files
  • Code to force file download in php (solve the problem of garbled Chinese file names under IE)
  • PHP implementation code for downloading files and solutions to garbled file names

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1119992.htmlTechArticleHow to download files safely with PHP. This article describes the method of downloading files safely with PHP. Share it with everyone for your reference, the details are as follows: phpheader('Content-Type: text/html;Charset=u...
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