PHP如何下载文件

<!doctypehtml><html><head><metacharset="utf-8"><title>无标题文档</title></head><body><?php... <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<?php

/**
* 文件下载
*
**/

header("Content-type:text/html;charset=utf-8");
download('s.zip', 'C:\Users\Administrator\Desktop');

function download($file, $down_name){
$suffix = substr($file,strrpos($file,'.')); //获取文件后缀
$down_name = $down_name.$suffix; //新文件名,就是下载后的名字

//判断给定的文件存在与否
if(!file_exists($file)){
die("您要下载的文件已不存在,可能是被删除");
}
$fp = fopen($file,"r");
$file_size = filesize($file);
//下载文件需要用到的头
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$file_size);
header("Content-Disposition: attachment; filename=".$down_name);
$buffer = 1024;
$file_count = 0;
//向浏览器返回数据
while(!feof($fp) && $file_count < $file_size){
$file_con = fread($fp,$buffer);
$file_count += $buffer;
echo $file_con;
}
fclose($fp);
}

?>

</body>
</html>
不好使啊 用超链接指向文 在本地好使 服务器上就错误 想用PHP还不会求解答 我就想在本地下载C盘根目录的1.zip文件 求代码 服务器是1.zip 求下载啊
展开
 我来答
zhuimengren361
推荐于2016-02-04 · 知道合伙人软件行家
zhuimengren361
知道合伙人软件行家
采纳数:96 获赞数:188
毕业于湖南大学计算机专业,从事6年的开发和技术管理经验,现任上海开亨信息科技公司技术总监

向TA提问 私信TA
展开全部
            // 下载文件  文件用绝对路径
            ob_clean();
            header('Pragma: public');
            header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
            header('Cache-Control:no-store, no-cache, must-revalidate');
            header('Cache-Control:pre-check=0, post-check=0, max-age=0');
            header('Content-Transfer-Encoding:binary');
            header('Content-Encoding:none');
            header('Content-type:multipart/form-data');
            header('Content-Disposition:attachment; filename="'.$filename.'"'); //设置下载的默认文件名
            header('Content-length:'. filesize($dfile));  //要下载的文件
            $fp = fopen($dfile, 'r');
            while(connection_status() == 0 && $buf = @fread($fp, 8192)){
                echo $buf;
            }
            fclose($fp);
            @unlink($dfile);
            @flush();
            @ob_flush();
            exit();
更多追问追答
追问
求详细
追答

你上边的 $file 就是我下边代码的 $dfile  ;然后把filename下载的文件名定义个名字

            // 下载文件  文件用绝对路径
            $dfile = $file;
            $filename = "filedown.zip";
            ob_clean();
            header('Pragma: public');
            header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
            header('Cache-Control:no-store, no-cache, must-revalidate');
            header('Cache-Control:pre-check=0, post-check=0, max-age=0');
            header('Content-Transfer-Encoding:binary');
            header('Content-Encoding:none');
            header('Content-type:multipart/form-data');
            header('Content-Disposition:attachment; filename="'.$filename.'"'); //设置下载的默认文件名
            header('Content-length:'. filesize($dfile));  //要下载的文件
            $fp = fopen($dfile, 'r');
            while(connection_status() == 0 && $buf = @fread($fp, 8192)){
                echo $buf;
            }
            fclose($fp);
            @unlink($dfile);
            @flush();
            @ob_flush();
            exit();
AiPPT
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式