You're going to laugh at me. "Download file" So simple is worth saying? Of course it's not as simple as imagination. For example, you want customers to fill out a form, you can download a file, your first thought must be "Redirect" method, first check whether the form has been completed and complete, and then the URL refers to the file, so that customers can download, but if you want to do a "online shopping" e-commerce site , consider the security issues, you do not want users to directly copy the URL to download the file, I suggest you use PHP directly read the actual file and then download the method to do. The procedure is as follows:
$file _name = "Info_check.exe";
$file _dir = "/public/www/download/";
if (!file_exists ($file _dir. $file _name)) {//check if file exists
echo "File not found";
Exit
} else {
$file = fopen ($file _dir. $file _name, "R"); Open File
Input File Label
Header ("Content-type:application/octet-stream");
Header ("Accept-ranges:bytes");
Header ("Accept-length:". FileSize ($file _dir. $file _name));
Header ("content-disposition:attachment; Filename= ". $file _name);
Output file contents
Echo fread ($file, FileSize ($file _dir. $file _name));
Fclose ($file);
Exit;}
If the file path is "http" or "FTP" URL, then the source code will change a little, the program is as follows:
$file _name = "Info_check.exe";
$file _dir = "http://www.easycn.net/";
$file = @ fopen ($file _dir. $file _name, "R");
if (! $file) {
echo "File not found";
} else {
Header ("Content-type:application/octet-stream");
Header ("content-disposition:attachment; Filename= ". $file _name);
while (!feof ($file)) {
Echo fread ($file, 50000);
}
Fclose ($file);
}
This allows you to output the file directly with PHP.
http://www.bkjia.com/PHPjc/314359.html www.bkjia.com true http://www.bkjia.com/PHPjc/314359.html techarticle you're going to laugh at me. Downloading a file is so simple and worth saying? Of course it's not as simple as imagination. For example, you want customers to fill out a form before they can download a file, you first think ...