比如我们要下载一个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
鱼有所思 阅读(336)
评论(0) 编辑 收藏 引用 网摘 所属分类:
PHP