The code is as follows: |
Copy code |
Function download ($ file_dir, $ file_name) // Parameter description: // File_dir: Directory of the file // File_name: file name { $ File_dir = chop ($ file_dir); // remove unnecessary spaces in the path // Obtain the path of the object to be downloaded If ($ file_dir! = '') { $ File_path = $ file_dir; If (substr ($ file_dir, strlen ($ file_dir)-1, strlen ($ file_dir ))! = '/') $ File_path. = '/'; $ File_path. = $ file_name; } Else $ File_path = $ file_name; // Determine whether the object to be downloaded exists If (! File_exists ($ file_path )) { Echo 'Sorry, the file you want to download does not exist. '; Return false; } $ File_size = filesize ($ file_path ); Header ("content-type: application/octet-stream "); Header ("accept-ranges: bytes "); Header ("accept-length: $ file_size "); Header ("content-disposition: attachment; filename =". $ file_name ); $ Fp = fopen ($ file_path, "r "); $ Buffer_size = 1024; $ Cur_pos = 0; While (! Feof ($ fp) & $ file_size-$ cur_pos> $ buffer_size) { $ Buffer = fread ($ fp, $ buffer_size ); Echo $ buffer; $ Cur_pos + = $ buffer_size; } $ Buffer = fread ($ fp, $ file_size-$ cur_pos ); Echo $ buffer; Fclose ($ fp ); Return true; } ?> |
<? Php
The code is as follows: |
Copy code |
$ File_name = "info_check.exe "; $ File_dir = "/public/www/download /"; If (! File_exists ($ file_dir. $ file_name) {// check whether the file exists Echo "file not found "; Exit; } Else { $ File = fopen ($ file_dir. $ file_name, "r"); // open the file // Input file tag 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 content Echo fread ($ file, filesize ($ file_dir. $ file_name )); Fclose ($ file ); Exit ;}
|
?>
<?
// If the file path is http or ftp, the download code is as follows:
The code is as follows: |
Copy code |
$ File_name = "info_check.exe "; $ File_dir = "http://www.111cn.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 ); } ?> |