PHP实现文件安全下载的实例

  1. $file_name = "info_check.exe";   
  2. $file_dir = "/public/www/download/";  
  3. if (!file_exists($file_dir . $file_name)) {//检查文件是否存在  
  4. echo "文件找不到";  
  5. exit;  
  6. else {  
  7. $file = fopen($file_dir . $file_name,"r");//打开文件  
  8. //输入文件标签  
  9. Header("Content-type: application/octet-stream");  
  10. Header("Accept-Ranges: bytes");  
  11. Header("Accept-Length: ".filesize($file_dir . $file_name));  
  12. Header("Content-Disposition: attachment; filename=" . $file_name);  
  13. //输出文件内容  
  14. echo fread($file,filesize($file_dir . $file_name));  
  15. fclose($file);  
  16. exit;}  

而如果文件路径是”http”或者”ftp”网址的话,则源代码会有少许改变,程序如下:

  1. $file_name = "info_check.exe";  
  2. $file_dir = "www.dwww.cn/";  
  3. $file = @ fopen($file_dir . $file_name,"r");  
  4. if (!$file) {  
  5. echo "文件找不到";  
  6. else {  
  7. Header("Content-type: application/octet-stream");  
  8. Header("Content-Disposition: attachment; filename=" . $file_name);  
  9. while (!feof ($file)) {  
  10. echo fread($file,50000);  
  11. }  
  12. fclose ($file);  
  13. }  

这样就可以用PHP直接输出文件了

转载请注明:代码家园 » PHP实现文件安全下载的实例

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)