Home  >  Article  >  Backend Development  >  Detailed explanation of PHP file download example code

Detailed explanation of PHP file download example code

墨辰丷
墨辰丷Original
2018-06-01 15:20:321622browse

This article mainly introduces the PHP file download example code in detail, which has certain reference value. Interested friends can refer to it

The file download function is basically for a website It is a must. Today let’s take a look at how PHP implements file downloading.

Uncontrolled type

The uncontrolled type mentioned here refers to those types that can be downloaded directly without adding PHP code control resources. Generally speaking, compressed files .rar; audio and video files: ..avi, etc. can also be downloaded directly. But audio and mp4 will be parsed and played directly by the browser.
As shown below:

.avi file

Detailed explanation of PHP file download example code

##.rar Files

Detailed explanation of PHP file download example code

.mp4, MP3, pictures , etc. will be parsed directly

Detailed explanation of PHP file download example code

Core code

It is very simple to use php code to control the download of files. We can accomplish such complex work with very little code.

Type

// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性
header("content-disposition:attachment;filename=".basename($filename));

Length

header("content-length:".filesize($filename) );

Implementation function

<?php

$filename = $_GET[&#39;filename&#39;];
// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性
header("content-disposition:attachment;filename="$filename);
header("content-length:".filesize($filename));
readfile($filename);


?>

Optimization

The file name specified above At this time, we did not use a function called basename, so that when we download the file, it will be accompanied by the full path of the file on the server.

Note: The name of the downloaded file must not include its full path name on the server, otherwise it may lead to the leakage of some resources. Even if there is a way to control access to resources, it is still good to use the basename function.

The name of the original downloaded file

Detailed explanation of PHP file download example code

The optimized file download name

Detailed explanation of PHP file download example code

Summary

It is really convenient to download and use PHP files compared to Java implementation. Inside the downloaded file, there is a lot of information provided to us. Through this encapsulated information, we can implement a more elegant file download system.


Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

php Detailed introduction to operators and expressions

php js implements multi-point annotation on Baidu map

Detailed explanation of several ways of handling passwords in PHP

The above is the detailed content of Detailed explanation of PHP file download example code. For more information, please follow other related articles on the PHP Chinese website!

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