随笔-103  评论-37  文章-0  trackbacks-0
比如我们要下载一个abc.exe的文件。  
  分两种情况,一是文件单独下载:  
<?
$file_name   =   "abc.exe";  
$file_dir   =   "./test/";  
if (!file_exists($file_dir . $file_name))  //检查文件是否存在   
{   
    
echo   "文件找不到";
    
exit;
}   
else   
{
    
$file   =   fopen($file_dir   .   $file_name,"r");   //   打开文件   
    //   输入文件标签   

    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);
    
//   输出文件内容   
    echo   fread($file,filesize($file_dir   .   $file_name));
    
fclose($file);
    
exit;
}
?>

另外一种情况是文件路径包含“http”或者“ftp”网址:  
$file_name   =   "abc.exe";
$file_dir   =   "http://xxx.xxx.xxx/";  
$file   =   @ fopen($file_dir . $file_name,"r");        
if (!$file)   
{
    
echo   "文件找不到";
}   
else   
{
    
Header("Content-type:   application/octet-stream");
    
Header("Content-Disposition:   attachment;   filename="   .   $file_name);
    
while (!feof($file))   
    {
    
echo   fread($file,50000);
}  
fclose ($file);    
}  
posted on 2007-03-20 21:16 鱼有所思 阅读(354) 评论(0)  编辑 收藏 引用 网摘 所属分类: PHP

只有注册用户登录后才能发表评论。
网站导航: