Home  >  Article  >  Backend Development  >  Detailed explanation of file download function in PHP

Detailed explanation of file download function in PHP

黄舟
黄舟Original
2017-03-11 10:41:053949browse

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


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 file download function in PHP

.rar file

Detailed explanation of file download function in PHP

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

Detailed explanation of file download function in PHP

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

Optimization

When specifying the file name above, we did not use a basename function, so that when we download the file, it will be accompanied by the complete 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 file download function in PHP

The optimized file download name

Detailed explanation of file download function in PHP

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.

The above is the detailed content of Detailed explanation of file download function in PHP. 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