跪求各位大神指点一下,采用下面这个函数实现下载文件功能时,下载的不是目标文件,而是整个页面...
class Download {
private $file;
public function __construct($file)//$file为从数据库中获取到的文件相对存储地址
{
$this->file=$file;
$this->downloads($this->file);
}
public function downloads($file)
{
$file=iconv("utf-8","gb2312",$file);
$file_dir = $_SERVER['__SELF__']."Uploads".$file;
//echo $file_dir;
$filename=pathinfo($file);
if (!file_exists($file_dir))
{
echo "文件已被删除!!";
exit();
}
else
{
$file = fopen($file_dir,"r");
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_dir));
header("Content-Disposition: attachment; filename=".$filename["basename"]);
ob_clean();
flush();
readfile($file, filesize($file_dir));
fclose($file);
}
}
}