Sometimes we need to hide the real file, prevent malicious download, we can use the following method (refer to the network, infringement please inform)
The following is the referenced content:
$file _name = "Example.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 is a remote file, the original code will be slightly changed, the program is as follows:
The following is the referenced content:
$file _name = "example. exe";
$file _dir = "http://back.zhizhi123.com/";
$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 will enable you to output the file directly with PHP.
original link: http://back.zhizhi123.com/?p=136
PHP Download file (hide real)