The file download function is basically necessary for a website. Today, let’s take a look at how PHP implements file download.
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:
It is very simple to use php code to control the download of files. We can accomplish such complex work with very little code.
// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性 header("content-disposition:attachment;filename=".basename($filename));
header("content-length:".filesize($filename));
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.
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!