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
##.rar Files
.mp4, MP3, pictures , etc. will be parsed directly
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));
header("content-length:".filesize($filename) );
Implementation function<?php $filename = $_GET['filename']; // 使用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.
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.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!