download-文件下载,下载的不是目标文件而是整个页面

问题描述

文件下载,下载的不是目标文件而是整个页面

跪求各位大神指点一下,采用下面这个函数实现下载文件功能时,下载的不是目标文件,而是整个页面...
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);
    }
}

}

解决方案

网站要求登录或者出错了吧

时间: 2024-09-17 03:52:02

download-文件下载,下载的不是目标文件而是整个页面的相关文章

强制下载JPG或TXT等文件的4种方法

网站不仅仅只包含网页,有时你需要提供用户能下载的文件.将你的文件放到服务器上并在网页中附上链接只是第一步,你还需意识到HTTP响应的头文件影响文件下载. 在网上经常会碰到这类情况,当下载JPG或TXT等文件时,直接加上文件的链接,点击后并不会跳出选择保存弹出框,而是在网页浏览器中直接显示出来,解决这一问题的办法其实很简单,就是通过HTTP头文件来进行设置,本文中一共介绍了4种方法,只要合理运用就能随意控制网页文件下载方式了. 提示一:强制下载并控制文件名 在HTML中提供一个下载链接很简单: <

从网上下载到一张资源文件,一张大图里边有很多张小图,怎么生成plist文件

问题描述 从网上下载到一张资源文件,一张大图里边有很多张小图,怎么生成plist文件 从网上下载到一张资源文件,一张大图里边有很多张小图,怎么生成plist文件 解决方案 http://download.csdn.net/download/wanggan768q/7411533 解决方案二: http://download.csdn.net/detail/ai418976280/8536979

android下载tomcat中的xml文件

问题描述 我需要用android下载tomcat中的xml文件,在我的tomcat中新建一个项目叫mp3,其中有一个xml文件.该xml文件中的内容是:<?xmlversion="1.0"encoding="ISO-8859-1"?><!--服务器端一个mp3文件和一个lrc文件信息--><resources><resource><id>0001</id><mp3_name>a1.m

win7系统桌面所有文件都无法重命名提示“目标文件夹访问被拒绝”如何解决

  win7系统桌面所有文件都无法重命名提示"目标文件夹访问被拒绝"如何解决 具体步骤: 1.打开"计算机",定位到C:UsersAdministratorDesktop ; 2.在空白处单击右键,选择"属性"; 3.在"安全"标签中点击"编辑"按钮; 4.选择你登录的帐户名如:Administrator,将"用户名"权限设置"完全控制"后面的"允许&quo

UNIX目标文件初探

UNIX(R)系统中运行的程序遵守一种称为目标文件格式的精心设计.了解更多关于目标文件格式的内容,以及可以用来研究系统中目标文件的工具. 计算机编程的最新技术将一种特殊的人性与一组特殊的工具结合在一起,用以生产出对其他人非常有帮助的一种神奇的产品,即软件.计算机程序员是一群注重细节的人,他们可以处理计算机中各种各样的困难.计算机的要求非常苛刻,并且不能容忍其中存在任何的偏差.毫无疑问,无论您的个性如何以及在工作中使用了何种辅助工具,计算机程序的编写都是非常困难的. 在UNIX和Linux中,任何

酷狗MV下载会保存在哪个文件夹里?

酷狗MV下载会保存在哪个文件夹里? 酷狗的MV默认是保存在E:KuGouCache里,后缀名为mkv的就是MV文件了(暴风影音可以播放).如果E盘没有那就保存在除C盘外的盘里,像D盘等.没看到那是因为这个文件夹设置了隐藏属性,得更改文件夹选项才能显示(我的电脑/工具/文件夹选项/查看/勾选 显示所有文件和文件夹/确定),如果还找不到,就请通过搜索一下所有磁盘.等底端绿色进度条跑完后才能够提取出视频文件. 另一种查找方法: 很简单,在kugoo最新版里面,你点击观看后会自动缓存了,很多人提问kug

百度云管家怎么下载百度网盘的文件?

安装了百度云管家后,发现云管家与百度云网盘有一点点小区别,现在看看百度云管家是怎么下载文件的吧?直接批量下载多个文件哦! 您可以在百度云管家主界面选择要下载的文件. 有三种方式实现下载: 方式一:点击主界面顶部的"下载"按钮 在主界面中勾选单个或多个文件,点击顶部的蓝色"下载"按钮.在弹出的下载窗口中,选择要将文件保存到本地的路径,点击"下载"后即可开始下载文件. 方式二:对单个文件,可以点击文件行后的"下载"图标 浏览云端文

win8.1复制文件报错“目标文件夹访问被拒绝”怎么办

  解决win8.1系统复制文件报错"目标文件夹访问被拒绝"的方法 方法如下: 1. 按"Win+X"快捷键,在弹出菜单中选择"命令提示符(管理员)",输入"icacls c: /setintegritylevel M"命令回车,稍等几分钟,执行完成即可将C盘安全级别下调至M级.(如果想要恢复的话,则使用icacls c: /setintegritylevel H即可将C盘安全级别上升至H级.) 2. 右击C盘"属性

win7 32位系统无法下载大于4G内存的文件如何解决

  大家都知道,win7 32位系统最多只能存储4G大小的文件,如果大于4G以上的内存文件就无法在windows操作系统中运行了,有时候必须安装一个超过4G内存的文件,那么该如何解决呢?最简单的办法就是把硬盘格式转换成ntfs格式就可以了.下面小编为大家演示具体的设置步骤. 具体方法如下: 一.转换硬盘格式 1.点"开始→程序→附件→命令"提示符; 2. 打开窗口以后,在光标的提示符下输入"convert c:/FS:NTFS",然后回车.注意在"cove